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


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อใช้ฟังก์ชัน IFERROR ใน VBA เพื่อแสดงค่าเฉพาะในเซลล์หากพบข้อผิดพลาดในสูตร Excel:

 SubIfError ()
    Dim i As Integer
    
    For i = 2 To 11
    Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
    Next i
End Sub

ตัวอย่างนี้จะตรวจสอบว่าแต่ละเซลล์ในแถวที่ 2 ถึง 11 ของคอลัมน์ที่สามของแผ่นงานปัจจุบันมีค่าความผิดพลาดหรือไม่

หากพบค่าความผิดพลาด ค่า “ข้อผิดพลาดของสูตร” จะถูกกำหนดให้กับเซลล์ที่เกี่ยวข้องในคอลัมน์ที่สี่ มิฉะนั้น ค่าตัวเลขในคอลัมน์ที่สามจะถูกกำหนดค่าให้กับค่าที่สอดคล้องกันในคอลัมน์ที่สี่

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

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

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่แสดงรายได้รวมและหน่วยที่ขายของผลิตภัณฑ์ในร้านค้าต่างๆ:

คอลัมน์ C ใช้สูตรเพื่อหารรายได้ตามหน่วยที่ขายเพื่อให้ได้รายได้ต่อหน่วย

อย่างไรก็ตาม โปรดทราบว่าสูตรจะสร้างค่า #DIV/0! ในบางเซลล์ที่เราพยายามหารด้วยศูนย์

สมมติว่าเราต้องการสร้างคอลัมน์ใหม่ที่แสดง “ข้อผิดพลาดของสูตร” สำหรับเซลล์เหล่านี้แทน

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

 SubIfError ()
    Dim i As Integer
    
    For i = 2 To 11
    Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
    Next i
End Sub

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

ค่าในคอลัมน์ D จะแสดงผลลัพธ์ของสูตรในคอลัมน์ C หรือค่า “ข้อผิดพลาดของสูตร” หากแสดงค่าความผิดพลาด

อย่าลังเลที่จะเปลี่ยน “ข้อผิดพลาดของสูตร” ในวิธี IfError ในโค้ดเพื่อแสดงค่าที่คุณต้องการแทนเมื่อพบข้อผิดพลาด

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

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

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

VBA: วิธีใช้ IF OR เพื่อทดสอบหลายเงื่อนไข
VBA: วิธีใช้ IF AND เพื่อทดสอบหลายเงื่อนไข
VBA: วิธีใช้ IF NOT เพื่อทดสอบว่าไม่ตรงตามเงื่อนไขหรือไม่

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

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