Vba: ใช้ if or เพื่อทดสอบหลายเงื่อนไข


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน VBA ด้วย IF และ OR เพื่อทดสอบว่าตรงตามเงื่อนไขหลายข้อหรือไม่:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

ตัวอย่างนี้จะตรวจสอบว่าค่าในเซลล์ A2 เท่ากับ “Warriors” หรือ ไม่ หรือค่าในเซลล์ B2 มากกว่า 100

หากตรงตามเงื่อนไขข้อใดข้อหนึ่ง ค่า “ใช่!” » จะถูกส่งกลับในเซลล์ C2

มิฉะนั้นค่า “ไม่” จะถูกส่งกลับไปยังเซลล์ C2

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

ที่เกี่ยวข้อง: VBA: ใช้ IF และ เพื่อทดสอบหลายเงื่อนไข

ตัวอย่าง: ใช้ IF AND เพื่อทดสอบหลายเงื่อนไขใน VBA

สมมติว่าเรามีข้อมูลต่อไปนี้ใน Excel:

สมมติว่าเราต้องการตรวจสอบว่าชื่อทีมคือ Warriors หรือ ค่าคะแนนมากกว่า 100 และส่งคืนผลลัพธ์ในเซลล์ C2

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

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

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

แมโครส่งกลับค่า “ใช่!” อย่างถูกต้อง » ในเซลล์ C2 เนื่องจากตรงตามเงื่อนไขอย่างน้อยหนึ่งข้อ

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

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

แมโครส่งกลับค่า “ไม่ใช่” อย่างถูกต้อง ในเซลล์ C2 เนื่องจากไม่ตรงตามเงื่อนไขใดๆ

ถ้าคุณต้องการแสดงผลลัพธ์ในกล่องข้อความแทน คุณสามารถใช้ไวยากรณ์ต่อไปนี้:

 Sub IfOrTest()
    If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
    MsgBox “ Yes!Else
    MsgBox “ No.End If
End Sub

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

กล่องข้อความส่งคืน “ไม่ใช่” เนื่องจากไม่เป็นไปตามเงื่อนไขใดๆ

หมายเหตุ : ในตัวอย่างนี้ เราใช้ตัวดำเนินการ Or เพียงครั้งเดียวในมาโครของเราเพื่อทดสอบว่าเงื่อนไขสองข้อเป็นจริงหรือไม่ แต่คุณสามารถใช้ตัวดำเนินการ Or ได้มากเท่าที่คุณต้องการทดสอบว่าตรงตามเงื่อนไขมากกว่าสองข้อหรือไม่

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

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

VBA: วิธีใช้ VLOOKUP
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่

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

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