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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตัวอย่างเช่น สมมติว่าเราเปลี่ยนค่าจุดเป็น 104 และเรียกใช้แมโครอีกครั้ง:

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

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

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

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

กล่องข้อความส่งคืน “ใช่!” » เนื่องจากชื่อทีมคือ Warriors และค่าแต้มมากกว่า 100

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

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

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

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

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

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