วิธีใช้ ifna ใน vba (พร้อมตัวอย่าง)


คุณสามารถใช้เมธอด IfNa ใน VBA เพื่อส่งกลับค่าเฉพาะได้ ถ้าสูตรสร้างข้อผิดพลาด #N/A

นี่เป็นวิธีทั่วไปในการใช้ IfNa ในทางปฏิบัติ:

 Sub UseVLOOKUP()
    With Application
    Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub

แมโครนี้โดยเฉพาะพยายามใช้ฟังก์ชัน VLOOKUP เพื่อค้นหาค่าในเซลล์ E2 ในช่วง A2:C11

หากไม่พบค่าในเซลล์ E2 สูตรจะให้ #N/A

อย่างไรก็ตาม เราสามารถใช้เมธอด IfNa เพื่อส่งคืน “No Value Found” แทน #N/A

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

ตัวอย่าง: วิธีใช้ IfNa ใน VBA

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

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

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

 Sub UseVLOOKUP()
    With Application
    Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub

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

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

ตอนนี้ สมมติว่าเราเปลี่ยนชื่อทีมในเซลล์ E2 เป็น “Grizzlies” ซึ่งไม่มีอยู่ในชุดข้อมูล

เมื่อเราเรียกใช้แมโครนี้อีกครั้ง แมโครจะส่งกลับ “ไม่พบค่า” เนื่องจากเป็นค่าที่เราระบุซึ่งควรจะส่งคืนหากฟังก์ชัน VLOOKUP ส่งผลให้เกิดข้อผิดพลาด #N/A

มาโครส่งคืน “ไม่พบค่า” เนื่องจากไม่มี Grizzlies ในคอลัมน์ทีม

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

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

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

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

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

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