:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

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

#1

Post by liveday »

เรียนอาจารย์ทุกท่านครับ
ที่ Sheet ทำรายการ ต้องการให้ textbox ขึ้นกับ combobox ที่เลือกครับ
ต้องใช้สูตรอย่างไรดีครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#2

Post by snasui »

:D ไม่เข้าใจครับ

ช่วยอธิบายมาอย่างละเอียดว่าต้องการให้ TextBox ใดขึ้นกับ ComboBox ใด ยกตัวอย่างมาด้วยครับ
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

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

#3

Post by liveday »

เมื่อเลือก ID ที่ชีททำรายการ ใน Combobox แล้ว ให้รายการที่มีทั้งหมดใน ชีททำรายการ มาแสดงค่าใน Textbox ครับอาจารย์
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#4

Post by snasui »

:D ID อยู่ที่เซลล์ไหนครับ :?:

กรุณาอ่านโพสต์ #2 ใหม่อีกครั้งว่าผมแจ้งไว้อย่างไร ควรจะอธิบายให้ลงรายละเอียดให้ลงถึงตำแหน่งของเซลล์, Control นั้น ๆ ครับ
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

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

#5

Post by liveday »

ขอโทษทีครับอาจารย์ที่อธิบายผิดและไม่ละเอียดครับ
UserForm ที่ Sheet 3 (ทำรายการ) เมื่อเลือกรหัสสินค้าที่ cbProductCode(Combobox)
ซึ่งจะเป็นข้อมูลรหัสสินค้าที่ Sheet1(รายการสินค้า) Colum B
แล้วให้รายการทั้งหมดที่มีใน Sheet1(รายการสินค้า)ตั้งแต่ Colum C:J
มาเเสดงข้อมูลที่ UserForm ที่ Sheet 3 (ทำรายการ) Textbox (txtProductName),(txtPaticular),(txtColor),(txtSpec) ครับ
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#6

Post 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
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

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

#7

Post 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
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#8

Post by snasui »

liveday wrote: Mon Jun 18, 2018 10:54 am พอดีผมเอาโค้ดที่อาจารย์มาแล้วไม่ทำงานครับ
:D แนบไฟล์นั้นมาด้วย ชี้ให้เห็นว่าผิดพลาดตรงไหน อย่างไร จะได้ตอบต่อไปจากนั้น ผมยังไม่เห็นความจำเป็นใดที่จะต้องเปลี่ยน Code เป็นอย่างอื่นครับ
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

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

#9

Post by liveday »

อาจารย์ครับ ใน Sheet รายการสินค้า หากใส่ รหัสสินค้าเป็นตัวเลขทำให้เกิด Error ครับ
ช่วง

Code: Select all

  i = Application.Match(Me.cbProductCode.text, .Range("B3:B1000"), 0)
ต้องแก้สูตรอย่างไรครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#10

Post 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 ด้านบนผมทำมาให้เป็นตัวอย่างการแปลงข้อมูลเท่านั้น
liveday
Bronze
Bronze
Posts: 286
Joined: Fri Mar 25, 2011 2:24 pm
Excel Ver: 2007

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

#11

Post by liveday »

ได้ตามต้องการครับ ขอบคุณอาจารย์ที่ช่วยแนะนำข้อมูลให้ครับ
Post Reply