Page 1 of 1

Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sat Jul 10, 2021 7:40 pm
by KHAMTUNM
ที่ Sheet "Issue" เมื่อคลิกที่ปุุ่ม เพิ่มข้อมูล ที่ Formula (Combo box) ให้ค้นหาข้อมูล Formula จาก Sheet "Product" มา เมื่่อเลือก Formula แล้วให้ดึง Register มาโชว์ใน Textbox2 ซึ่งผมได้เขียน VBA แต่ทำไม่ได้ ช่วยแก้ไขหรือแนะนำด้วยครับ.

Re: Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sat Jul 10, 2021 8:53 pm
by snasui
:D ตัวอย่าง Code ซึ่งจะอยู่ใน Form_Issue ไม่ใช่ใน Module1 ครับ

Code: Select all

Private Sub ComboBox1_Change()
    Dim l As Long, f_Range As Range
    If Me.ComboBox1.Text = "" Then Exit Sub
    With Worksheets("Product")
        Set f_Range = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
        If Application.CountIfs(f_Range, Me.ComboBox1.Text) = 0 Then Exit Sub
        l = Application.Match(Me.ComboBox1.Text, f_Range, 0)
        Me.TextBox2.Text = f_Range(l).Offset(0, 1).Value
    End With
End Sub

Private Sub UserForm_Initialize()
    Dim rall As Range, r As Range
    With Worksheets("Product")
        Set rall = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
        For Each r In rall
            Me.ComboBox1.AddItem r.Value
        Next r
    End With
End Sub
หากมีปัญหาใดเพิ่มเติมกรุณาเขียนมาเองก่อนเช่นเดิม ติดปัญหาแล้วค่อยถามกันต่อครับ

Re: Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sun Jul 11, 2021 6:56 am
by KHAMTUNM
ใช้งานได้แล้วขอบคุณครับ. :thup:

Re: Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sun Jul 11, 2021 10:40 am
by KHAMTUNM
ขอถามเพิ่มเรื่องรูปแบบวันที่ในวันที่ในฟอร์มคีย์ dd/mm/yy แต่พอเพิ่มข้อมูลลงในตารางกลับเป็น mm/dd/yy
จะแก้ไขยังไงครับ (ผมลองค้นหาในกระทู้แล้วแต่ยังทำไม่ได้ครับ)

Re: Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sun Jul 11, 2021 12:15 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Cells(r, 1) = Application.Text(TextBox3.Text, "dd/mm/yyyy")

Re: Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sun Jul 11, 2021 1:41 pm
by KHAMTUNM

Code: Select all

Private Sub TextBox3_Change()
Cells(r, 1) = Application.Text(TextBox3.Text, "dd/mm/yyyy")
End Sub
ทดลองแล้วไม่ได้ครับ

Re: Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sun Jul 11, 2021 7:19 pm
by snasui
:D Code ต้องมีเท่าเดิมไม่ใช่เหลือแค่บรรทัดเดียวครับ

บรรทัดที่ผมแนะนำไปนั้นให้ใช้แทน Code ที่ใช้บันทึกวันที่ ส่วนบรรทัดอื่นผมละไว้ในฐานที่เข้าใจครับ

Code เดิม

Code: Select all

Private Sub CommandButton1_Click()
    Do
        r = r + 1
    Loop Until Cells(r, 1) = ""
    Cells(r, 1) = TextBox3.Text
'Other code
ปรับเป็น

Code: Select all

Private Sub CommandButton1_Click()
    Do
        r = r + 1
    Loop Until Cells(r, 1) = ""
    Cells(r, 1) = Application.Text(TextBox3.Text, "dd/mm/yyyy")
'Other code
หรือปรับเป็น

Code: Select all

Private Sub CommandButton1_Click()
    Do
        r = r + 1
    Loop Until Cells(r, 1) = ""
    Cells(r, 1).Value2 = TextBox3.Value
'Other code

Re: Code VBA ในฟอร์มค้นหาข้อมูล(ComboBox)

Posted: Sun Jul 11, 2021 7:38 pm
by KHAMTUNM
:thup: ทำได้แล้ว ขอบคุณมากครับ. และผมจะศึกษา VBA ให้มากกว่านี้ครับ :D