วิธีใช้ xlookup ใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อดำเนินการ XLOOKUP โดยใช้ VBA:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
ตัวอย่างนี้ค้นหาค่าในเซลล์ E2 ในช่วง A2:A11 และค้นหาค่าที่ตรงกันในช่วง C2:C11 จากนั้นกำหนดผลลัพธ์ให้กับเซลล์ F2
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ XLOOKUP ใน VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
สมมติว่าเราต้องการค้นหาชุดข้อมูลสำหรับชื่อทีม “Kings” และส่งกลับค่าที่เกี่ยวข้องในคอลัมน์ช่วยเหลือ
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
มาโครส่งกลับค่า 3 ช่วยเหลือสำหรับ Kings อย่างถูกต้อง
หากเราเปลี่ยนชื่อทีมในเซลล์ E2 แล้วเรียกใช้แมโครอีกครั้ง มันจะค้นหาค่าตัวช่วยสำหรับชื่อทีมใหม่ได้อย่างถูกต้อง
ตัวอย่างเช่น สมมติว่าเราเปลี่ยนชื่อทีมเป็น “Warriors” และเรียกใช้มาโครอีกครั้ง:
มาโครส่งกลับค่า 4 แอสซิสต์สำหรับ Warriors อย่างถูกต้อง
โปรดทราบว่าคุณยังสามารถเพิ่มอาร์กิวเมนต์ที่สี่เพิ่มเติมให้กับฟังก์ชัน Xlookup เพื่อระบุค่าที่ควรแสดงหากไม่พบรายการที่ตรงกัน
ตัวอย่างเช่น คุณสามารถใช้แมโครต่อไปนี้เพื่อเรียกใช้ฟังก์ชัน XLOOKUP และส่งกลับ “ไม่มี” หากไม่พบรายการที่ตรงกัน:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "), "None")
End Sub
คุณสามารถแทนที่ “ไม่มี” ด้วยค่าใดก็ได้ที่คุณต้องการแสดง
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีใช้การจับคู่ดัชนี
VBA: วิธีใช้ VLOOKUP
VBA: วิธีใช้ VLOOKUP จากชีตอื่น