สอบถาม VBA ใช้ vlookup คู่กับ name manager ครับ
Posted: Sat Dec 12, 2015 9:20 pm
สวัสดีครับอาจารย์ที่เคารพ
กระทู้นี้เป็นกระทู้แรกของผมครับ เพิ่งได้เริ่มหัดเขียน VBA ติดปัญหาหลายจุดเลยครับ พอแก้ได้บ้างไม่ได้บ้าง
ผมเลยอยากขอรบกวนอาจารย์สอบถามเรื่อง vlookup กับ name manage ใน VBA หน่อยครับ
ผมมี Code ตามด้านล่างครับ ผมต้องการให้ เมื่อผมเลือก combobox1 แล้ว ให้โปรแกรมค้นหาค่าใน sheets("list") แล้วคืนค่ากลับมาที่ Textbox 1-5 ครับ ตอนนี้หลังจากเลือกแล้วมันไม่แสดงผลครับ
ปล.ผมไม่ได้เรียนด้านการเขียนโปรแกรมมา ตอนนี้หาอ่านเองตามหนังสือและเวบไซต์ได้ 2 วันเต็ม หากผิดพลาดประการใด ขออภัยและขอรบกวนอาจารย์ช่วยชี้แนะด้วยครับ
แก้ไข - เพิ่มไฟล์แนบ (ไม่ได้ใช้ sheet InOut แล้วครับ เพราะย้ายมาใช้ user form แทน)
กระทู้นี้เป็นกระทู้แรกของผมครับ เพิ่งได้เริ่มหัดเขียน VBA ติดปัญหาหลายจุดเลยครับ พอแก้ได้บ้างไม่ได้บ้าง
ผมเลยอยากขอรบกวนอาจารย์สอบถามเรื่อง vlookup กับ name manage ใน VBA หน่อยครับ
ผมมี Code ตามด้านล่างครับ ผมต้องการให้ เมื่อผมเลือก combobox1 แล้ว ให้โปรแกรมค้นหาค่าใน sheets("list") แล้วคืนค่ากลับมาที่ Textbox 1-5 ครับ ตอนนี้หลังจากเลือกแล้วมันไม่แสดงผลครับ
ปล.ผมไม่ได้เรียนด้านการเขียนโปรแกรมมา ตอนนี้หาอ่านเองตามหนังสือและเวบไซต์ได้ 2 วันเต็ม หากผิดพลาดประการใด ขออภัยและขอรบกวนอาจารย์ช่วยชี้แนะด้วยครับ
Code: Select all
Private Sub ComboBox1_change() 'Reference combobox to textbox
Dim i As Integer
Application.EnableEvents = False
i = 3
While Sheets("List").Cells(i, 1).Value <> ""
If Sheets("List").Cells(i, 1).Value = ComboBox1.Value Then
'Range("Name") --> Name = Name manager are Range("A3:F7")
TextBox1.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Sheets("list").Range("Name"), 2, False)
TextBox2.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Sheets("list").Range("Name"), 3, False)
TextBox3.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Sheets("list").Range("Name"), 4, False)
TextBox4.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Sheets("list").Range("Name"), 5, False)
TextBox5.Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Sheets("list").Range("Name"), 6, False)
End If
i = i + 1
Wend
Application.EnableEvents = True
End Sub