: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

สอบถาม VBA ใช้ vlookup คู่กับ name manager ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Snowwine
Member
Member
Posts: 4
Joined: Sat Dec 12, 2015 8:57 pm

สอบถาม VBA ใช้ vlookup คู่กับ name manager ครับ

#1

Post by Snowwine »

สวัสดีครับอาจารย์ที่เคารพ

กระทู้นี้เป็นกระทู้แรกของผมครับ เพิ่งได้เริ่มหัดเขียน 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
แก้ไข - เพิ่มไฟล์แนบ (ไม่ได้ใช้ sheet InOut แล้วครับ เพราะย้ายมาใช้ user form แทน)
Attachments
ภาพ sheet และ textbox
ภาพ sheet และ textbox
P0001.png (25.72 KiB) Viewed 68 times
Book1.xlsm
ส่งให้ทั้งไฟล์ดีกว่าครับ
(75.7 KiB) Downloaded 5 times
Last edited by Snowwine on Sat Dec 12, 2015 9:37 pm, edited 1 time in total.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: สอบถาม VBA ใช้ vlookup คู่กับ name manager ครับ

#2

Post by DhitiBank »

แนบตัวอย่างไฟล์ excel มาด้วยก็ดีครับ อาจาย์และเพื่อนๆ ที่เข้ามาช่วยตอบจะได้ทดสอบโค้ดได้ง่ายๆ
Snowwine
Member
Member
Posts: 4
Joined: Sat Dec 12, 2015 8:57 pm

Re: สอบถาม VBA ใช้ vlookup คู่กับ name manager ครับ

#3

Post by Snowwine »

ส่งให้แล้วครับ เพิ่มไม่ทัน ขออภัยครับ
Attachments
Book1.xlsm
(75.7 KiB) Downloaded 20 times
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: สอบถาม VBA ใช้ vlookup คู่กับ name manager ครับ

#4

Post by DhitiBank »

:) ลองปรับโค้ดเป็นแบบนี้ดูครับ

Code: Select all

Private Sub ComboBox1_change() 'Reference combobox to textbox 1-5
    Dim rFind As Range, vTarget As Variant
    vTarget = ComboBox1.Value
    With ThisWorkbook.ActiveSheet
        Set rFind = .Columns(1).Find(what:=vTarget, after:=.Range("a2"), LookIn:=xlValues _
                , lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext _
                , MatchCase:=False)
        If rFind Is Nothing Then MsgBox "Not found", vbCritical: Exit Sub
        TextBox1.Text = rFind.Offset(0, 2)
        TextBox2.Text = rFind.Offset(0, 1)
        TextBox3.Text = rFind.Offset(0, 3)
        TextBox4.Text = rFind.Offset(0, 5)
        TextBox5.Text = rFind.Offset(0, 4)
    End With
End Sub
Snowwine
Member
Member
Posts: 4
Joined: Sat Dec 12, 2015 8:57 pm

Re: สอบถาม VBA ใช้ vlookup คู่กับ name manager ครับ

#5

Post by Snowwine »

ขอบคุณ คุณ DhitiBank มากครับ ขอไปศึกษา code ที่ให้มานะครับ
Post Reply