Page 1 of 1

ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Fri Jun 08, 2018 5:07 pm
by liveday
เรียนอาจารย์ทุกท่านครับ
ที่ Sheet ทำรายการ ต้องการให้ textbox ขึ้นกับ combobox ที่เลือกครับ
ต้องใช้สูตรอย่างไรดีครับ
ขอบคุณครับ

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Fri Jun 08, 2018 7:35 pm
by snasui
:D ไม่เข้าใจครับ

ช่วยอธิบายมาอย่างละเอียดว่าต้องการให้ TextBox ใดขึ้นกับ ComboBox ใด ยกตัวอย่างมาด้วยครับ

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Sun Jun 10, 2018 4:22 pm
by liveday
เมื่อเลือก ID ที่ชีททำรายการ ใน Combobox แล้ว ให้รายการที่มีทั้งหมดใน ชีททำรายการ มาแสดงค่าใน Textbox ครับอาจารย์

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Sun Jun 10, 2018 5:05 pm
by snasui
:D ID อยู่ที่เซลล์ไหนครับ :?:

กรุณาอ่านโพสต์ #2 ใหม่อีกครั้งว่าผมแจ้งไว้อย่างไร ควรจะอธิบายให้ลงรายละเอียดให้ลงถึงตำแหน่งของเซลล์, Control นั้น ๆ ครับ

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Mon Jun 11, 2018 9:01 am
by liveday
ขอโทษทีครับอาจารย์ที่อธิบายผิดและไม่ละเอียดครับ
UserForm ที่ Sheet 3 (ทำรายการ) เมื่อเลือกรหัสสินค้าที่ cbProductCode(Combobox)
ซึ่งจะเป็นข้อมูลรหัสสินค้าที่ Sheet1(รายการสินค้า) Colum B
แล้วให้รายการทั้งหมดที่มีใน Sheet1(รายการสินค้า)ตั้งแต่ Colum C:J
มาเเสดงข้อมูลที่ UserForm ที่ Sheet 3 (ทำรายการ) Textbox (txtProductName),(txtPaticular),(txtColor),(txtSpec) ครับ
ขอบคุณครับ

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Tue Jun 12, 2018 6:31 am
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Private Sub cbProductCode_Change()
    Dim i As Integer
    With Sheets("ทำรายการ")
        If Application.CountIf(.Range("c3:c1000"), Me.cbProductCode) Then
            i = Application.Match(Me.cbProductCode.Text, .Range("c3:c1000"), 0)
            Me.txtProductName.Text = .Range("c2").Offset(i, 1).Value
            Me.txtPaticular.Text = .Range("c2").Offset(i, 2).Value
            Me.txtColor.Text = .Range("c2").Offset(i, 3).Value
            Me.txtSpec.Text = .Range("c2").Offset(0, 4).Value
        End If
    End With
End Sub

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Mon Jun 18, 2018 10:54 am
by liveday
พอดีผมเอาโค้ดที่อาจารย์มาแล้วไม่ทำงานครับ ผมจึงใส่โค้ดตามที่ผมส่งให้ดูเข้าไปใหม่ครับ แต่เมื่อเลือกรหัสสินค้าแล้วที่ UserForm ที่ Sheet 3 (ทำรายการ) Textbox (txtProductName),(txtPaticular),(txtColor),(txtSpec) ไม่ยอมแสดงค่าที่ต้องการครับ ถ้าถ้าเป็น TEXT เช่น AAA ข้อมูล (รายการสินค้า)ตั้งแต่ Colum C:J ก็จะมาแสดง แต่ถ้าเป็นตัวเลข จะไม่แสดงข้อมูลเลยครับ
ต้องปรับสูตรอย่างไรครับ ขอบคุณครับ

Code: Select all

Private Sub cbProductCode_Enter()
Dim i As Integer
Dim final As Integer
Dim work As String

cbProductCode.BackColor = &H80000005

For i = 1 To cbProductCode.ListCount

               'Remove an item from the ListBox.
               cbProductCode.RemoveItem 0

           Next i

For i = 2 To 1000
If Sheet1.Cells(i, 2) = "" Then
final = i - 1
Exit For
End If
Next


'If ComboBox1.ListCount < 1 Then

'ComboBox1.AddItem "-"
For i = 2 To final
work = Sheet1.Cells(i, 2)
cbProductCode.AddItem (work)
Next

'End If

End Sub

Private Sub cbProductCode_Click()
Dim i As Integer
Dim final As Integer

For i = 2 To 1000
If Sheet1.Cells(i, 2) = "" Then
final = i - 1
Exit For
End If
Next

For i = 2 To final
If cbProductCode = Sheet1.Cells(i, 2) Then
txtProductName = Sheet1.Cells(i, 3)
txtPaticular = Sheet1.Cells(i, 4)
txtColor = Sheet1.Cells(i, 5)
txtSpec = Sheet1.Cells(i, 6)
Exit For
End If
Next

End Sub

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Mon Jun 18, 2018 7:04 pm
by snasui
liveday wrote: Mon Jun 18, 2018 10:54 am พอดีผมเอาโค้ดที่อาจารย์มาแล้วไม่ทำงานครับ
:D แนบไฟล์นั้นมาด้วย ชี้ให้เห็นว่าผิดพลาดตรงไหน อย่างไร จะได้ตอบต่อไปจากนั้น ผมยังไม่เห็นความจำเป็นใดที่จะต้องเปลี่ยน Code เป็นอย่างอื่นครับ

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Wed Jun 20, 2018 4:55 pm
by liveday
อาจารย์ครับ ใน Sheet รายการสินค้า หากใส่ รหัสสินค้าเป็นตัวเลขทำให้เกิด Error ครับ
ช่วง

Code: Select all

  i = Application.Match(Me.cbProductCode.text, .Range("B3:B1000"), 0)
ต้องแก้สูตรอย่างไรครับ
ขอบคุณครับ

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Wed Jun 20, 2018 7:58 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

'Other code
Dim i As Integer, c As Variant
With Sheets("รายการสินค้า")
    If IsNumeric(Me.cbProductCode) Then
        c = CDbl(Me.cbProductCode)
    Else
        c = Me.cbProductCode
    End If
    If Application.CountIf(.Range("B3:B1000"), c) Then
        i = Application.Match(c, .Range("B3:B1000"), 0)
        Me.txtProductName.Text = .Range("c2").Offset(i, 0).Value
'Other code
รหัสสินค้าควรเป็นมาตรฐาน ไม่ใช่เป็น Text หรือ Number ก็ได้ ระบบงานส่วนใหญจะกำหนดให้เป็น Text ซึ่งควรกำหนดคอลัมน์ที่เป็นรหัสสินค้าให้เป็น Text ไม่ใช่กำหนดเป็น General ครับ

Code ด้านบนผมทำมาให้เป็นตัวอย่างการแปลงข้อมูลเท่านั้น

Re: ต้องการให้ textbox ขึ้นกับ combobox ที่เลือก

Posted: Thu Jun 21, 2018 9:34 am
by liveday
ได้ตามต้องการครับ ขอบคุณอาจารย์ที่ช่วยแนะนำข้อมูลให้ครับ