Vba: วิธีใช้ vlookup จากชีตอื่น


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อทำ VLOOKUP จากชีตอื่นโดยใช้ VBA:

 Sub Vlookup()
    Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub

ตัวอย่างนี้ค้นหาค่าในเซลล์ A2 ของแผ่นงานปัจจุบันในช่วง A2:C11 ของแผ่นงานที่เรียกว่า Sheet2 และค้นหาค่าที่ตรงกันในคอลัมน์ที่สามของช่วง จากนั้นกำหนดผลลัพธ์ให้กับเซลล์ B2 ของแผ่นงานปัจจุบัน

หมายเหตุ : อาร์กิวเมนต์สุดท้ายของ False ระบุว่าเราต้องการการจับคู่แบบตรงทั้งหมด

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: วิธีใช้ VLOOKUP จากแผ่นงานอื่นใน VBA

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ในแผ่นงานที่เรียกว่า Sheet2 ในสมุดงาน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

ตอนนี้ สมมติว่าเราย้ายไปที่ชีตชื่อ Sheet1 และเราต้องการค้นหาชื่อทีม “Kings” ในชุดข้อมูลของ Sheet2 และส่งคืนค่าที่สอดคล้องกันในคอลัมน์ช่วยเหลือของ Sheet1

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub Vlookup()
    Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

มาโครส่งกลับค่า 3 ช่วยเหลือสำหรับ Kings อย่างถูกต้อง

หากเราเปลี่ยนชื่อทีมในเซลล์ A2 แล้วเรียกใช้แมโครอีกครั้ง มันจะค้นหาค่าตัวช่วยสำหรับชื่อทีมใหม่ได้อย่างถูกต้อง

ตัวอย่างเช่น สมมติว่าเราเปลี่ยนชื่อทีมเป็น “Warriors” และเรียกใช้มาโครอีกครั้ง:

มาโครส่งกลับค่า 4 แอสซิสต์สำหรับ Warriors อย่างถูกต้อง

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA VLookup ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีใช้การจับคู่ดัชนี
VBA: วิธีจัดเรียงแผ่นงานตามหลายคอลัมน์
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *