Page 1 of 1

สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Tue May 27, 2014 3:42 pm
by nilatxay
มืใหม่หัดเลี่มสร้างฟอร์มในexcel

ยากป้อนข้อมูลผ่านฟอร์มในexcel เพื่อสะดวกในการใช้งาน ครับ

แต่ผมยังงงในกานใช้โค้ดอยู่

ต้องการผู้รู้แนนำครับ

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Tue May 27, 2014 3:50 pm
by Totem
nilatxay wrote:มืใหม่หัดเลี่มสร้างฟอร์มในexcel

ยากป้อนข้อมูลผ่านฟอร์มในexcel เพื่อสะดวกในการใช้งาน ครับ

แต่ผมยังงงในกานใช้โค้ดอยู่

ต้องการผู้รู้แนนำครับ
:D หากเป็นการเขียน VBA ให้ลองเขียนเองก่อน ตาม กฎข้อ 5 ครับ

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Tue May 27, 2014 5:21 pm
by nilatxay
ผมสร้างโคดมาแล้วครับ

รบกวนท่านปรับโค้ดให้หน่อยครับ

1 Date ต้องการเป็นรูปแบบวันที
2 Class, Module, Teacher, Status ให้บันดาช่องนี้ขื้นค่าตามที่เราได้กำนดไว้ใน sheet Code โดยที่เราไม่ต้องพีม
3 ID No. กำนดเป็นตัวเลกที่พีมได้
4 ผมต้องการให้ Date Class, Module, Teacher พีมครั้งเดียว แล้วเพี่มเพียงแต่ ID No. Status ไปได้หลายฯครั้ง

เพาะว่านักเรียนที่เข้ามาเรียนหลายคน ใน Date Class, Module, Teacher เป็นอันเดียวกัน

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Tue May 27, 2014 8:36 pm
by snasui
:D ค่อย ๆ ถามตอบกันไปครับ

ข้อ 1 ให้คีย์วันที่เป็น dd/mm/yyyy หากต้องการนอกเหนือจากนั้นให้เขียนมาเองก่อน
ข้อ 2 ให้ใช้ ComboBox แทน TextBox แล้วค่อย Loop เพื่อ Add รายการตามต้องการ
ข้อ 3 ที่ทำมาเป็นตัวเลขอยู่แล้ว
ข้อ 4 สามารถทำเช่นนั้นโดยลบบรรทัด Unload Me ทิ้งไป

ลองทำมาเองตามด้านบน ติดตรงไหนค่อยถามกันต่อ

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 10:32 am
by nilatxay
สองข้อนี้ผมทำได้แล้วครับ
ข้อ 2 ให้ใช้ ComboBox แทน TextBox แล้วค่อย Loop เพื่อ Add รายการตามต้องการ
ข้อ 3 ที่ทำมาเป็นตัวเลขอยู่แล้ว

ยังสองข้อครับ
ข้อ 1 ผมต้องการให้วันทีมันขื้นมาเองตามวันที่เราป้อนข้อมูล
ข้อ 4 ผมต้องการ Date, Class, Module, Teacher copy ข้อมูลลงไปตามเลก ID กับ tatus ที่เราได้ป้อนลง
โดยเราไม้ต้องป้อนข้อมูล Date, Class, Module, Teache ไปที่ละคน


มืใหม่หัดใช้ VB

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 11:02 am
by snasui
nilatxay wrote:ข้อ 1 ผมต้องการให้วันทีมันขื้นมาเองตามวันที่เราป้อนข้อมูล
:D ต้องการให้ขึ้นมาแบบไหน อย่างไร ช่วยอธิบายหรือจับภาพมาแสดง Code ทีเขียนไว้เองแล้วในการจัดการกับวันที่ตามคำถามนี้คือบรรทัดไหน :?:

ตัวอย่าง Code ตามข้อ 4 ครับ

Code: Select all

Private Sub Save_Click()
    Dim irow As Long
    Dim ws As Worksheet
    Dim objAll As Variant
    Dim i As Integer
    Set ws = Worksheets("Tracking")
    objAll = Array(Me.TextBox4, Me.TextBox5, Me.TextBox6, Me.TextBox7, Me.TextBox8)
    If Me.TextBox1.Value <> "" Then
        Me.TextBox1.Text = Application.Trim(Me.TextBox1.Text)
        'Find first empty row in database
        irow = ws.Cells(Rows.Count, 2) _
            .End(xlUp).Offset(1, 0).Row
       
        'Copy The Data To The Database
        For i = 0 To UBound(objAll)
            If objAll(i).Text <> "" Then
                ws.Cells(irow, 2).Value = Me.TextBox1.Value
                ws.Cells(irow, 3).Value = Me.ComboBox1.Value
                ws.Cells(irow, 4).Value = Me.ComboBox2.Value
                ws.Cells(irow, 5).Value = objAll(i).Value
                ws.Cells(irow, 6).Value = Me.ComboBox3.Value
                ws.Cells(irow, 7).Value = Me.ComboBox4.Value
                irow = irow + 1
            End If
        Next i
    Else
        MsgBox "Please check Data", vbCritical
    End If
End Sub

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 11:20 am
by nilatxay
ข้อ4ได้แล้วครับ

ยังข้อ 1 คืในส่วนของ Date ผมต้องการให้ขื้น Auto วันที่ในคอมเลียครับ (แต่สามารถแปลงได้)

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 1:02 pm
by nilatxay
ช่วยกวดโคดดูให้อีกครั้งครับ

เวลาป้อนข้อมูลลงไปแล้วเมื่อกด ปุ่ม SAVE
มันลงไปในตาลางที่กำนดไว้

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 2:18 pm
by bank9597
:D ลองสร้างชีท template ขึ้นมาครับ ไว้สำหรับจัดเรียงข้อมูลให้เรียบร้อยก่อน แล้วค่อยสั่งบันทึกไปที่ตารางในตอนหลัง แบบนี้จะง่ายกว่าครับ

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 2:21 pm
by niwat2811

Code: Select all

objAll = Array(Me.TextBox4, Me.TextBox5, Me.TextBox6, Me.TextBox7, Me.TextBox8)
คุณ nilatxay ผมลองโหลดไฟล์ที่แนบมาแล้ว ดู Code ตรง objAll รู้สึกว่าจะตกตัว j ไปตัวนะครับ

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 2:28 pm
by nilatxay
OK แก้ไขได้แล้วครับ

ยังแค่ข้อเดียวครับ


ในตาลาง Form Date ผมต้องการให้ขื้น Auto วันที่ในคอมเลียครับ (แต่สามารถแปลงได้)

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 2:45 pm
by niwat2811
ตรง Private Sub UserForm_Initialize() ลองเพิ่ม Code นี้เข้าไปครับ

Code: Select all

TextBox1.Value = Date

Re: สร้างแบบฟอร์ม ป้อนข้อ ในexcel

Posted: Thu May 29, 2014 3:52 pm
by nilatxay
ได้แล้ว

ขอบคุณครับ :thup: