Vba: gebruik if and om meerdere voorwaarden te testen
U kunt de volgende basissyntaxis in VBA gebruiken met IF en AND om te testen of aan meerdere voorwaarden wordt voldaan:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And 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‘ en of de waarde in cel B2 groter is dan 100.
Als aan 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.
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 en de puntenwaarde groter is dan 100 en het resultaat in cel C2 willen retourneren.
We kunnen hiervoor de volgende macro maken:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And 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 „Nee“. in cel C2 omdat niet aan de twee voorwaarden was voldaan.
Als we de waarde van de punten in cel B2 wijzigen en de macro vervolgens opnieuw uitvoeren, wordt getest of aan beide voorwaarden is voldaan voor de nieuwe waarden:
Stel dat we de puntwaarde wijzigen in 104 en de macro opnieuw uitvoeren:
De macro retourneert correct de waarde “Ja!” » in cel C2 , aangezien aan beide voorwaarden is voldaan.
Als u de resultaten in plaats daarvan in een berichtvenster wilt weergeven, kunt u de volgende syntaxis gebruiken:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And 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 „Ja!“ » aangezien de teamnaam Warriors is en de puntenwaarde groter is dan 100.
Opmerking : in dit voorbeeld hebben we de And- operator slechts één keer in onze macro gebruikt om te testen of twee voorwaarden waar waren, maar u kunt zoveel And- 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?