Vba: gebruik if or om meerdere voorwaarden te testen
U kunt de volgende basissyntaxis in VBA gebruiken met IF en OR om te testen of aan meerdere voorwaarden wordt voldaan:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
In dit specifieke voorbeeld wordt gecontroleerd of de waarde in cel A2 gelijk is aan ‚Krijgers‘ of dat de waarde in cel B2 groter is dan 100.
Als aan een van beide voorwaarden is voldaan, wordt de waarde “Ja!” » wordt geretourneerd in cel C2 .
Anders de waarde „Nee“. wordt teruggestuurd naar cel C2 .
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Gerelateerd: VBA: gebruik IF AND om meerdere voorwaarden te testen
Voorbeeld: Gebruik IF AND om meerdere voorwaarden in VBA te testen
Stel dat we de volgende gegevens in Excel hebben:
Stel dat we willen bepalen of de teamnaam Warriors is of dat de puntenwaarde groter is dan 100 en het resultaat in cel C2 willen retourneren.
We kunnen hiervoor de volgende macro maken:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
De macro retourneert correct de waarde “Ja!” » in cel C2 omdat aan ten minste één van de voorwaarden is voldaan.
Als we de waarde van de punten in cel A2 wijzigen en de macro vervolgens opnieuw uitvoeren, wordt getest of aan beide voorwaarden is voldaan voor de nieuwe waarden:
Laten we bijvoorbeeld zeggen dat we de teamnaam wijzigen in ‚Rockets‘ en de macro opnieuw uitvoeren:
De macro retourneert correct de waarde „Nee“. in cel C2 omdat aan geen van beide voorwaarden was voldaan.
Als u de resultaten in plaats daarvan in een berichtvenster wilt weergeven, kunt u de volgende syntaxis gebruiken:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
MsgBox “ Yes! ”
Else
MsgBox “ No. ”
End If
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Het berichtvenster retourneert „Nee“. aangezien aan geen van beide voorwaarden was voldaan.
Opmerking : in dit voorbeeld hebben we de operator Or slechts één keer in onze macro gebruikt om te testen of twee voorwaarden waar waren, maar u kunt zoveel operatoren gebruiken als u wilt testen als aan meer dan twee voorwaarden wordt voldaan.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: hoe VERT.ZOEKEN te gebruiken
VBA: het aantal tekens in een string tellen
VBA: hoe controleer je of een string een andere string bevat?