Vba: verwenden sie if and, um mehrere bedingungen zu testen
Sie können die folgende grundlegende Syntax in VBA mit IF und AND verwenden, um zu testen, ob mehrere Bedingungen erfüllt sind:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
In diesem speziellen Beispiel wird überprüft, ob der Wert in Zelle A2 gleich „Warriors“ ist und ob der Wert in Zelle B2 größer als 100 ist.
Wenn beide Bedingungen erfüllt sind, wird der Wert „Ja!“ angezeigt. » wird in Zelle C2 zurückgegeben.
Ansonsten der Wert „Nein“. wird an Zelle C2 zurückgegeben.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Verwenden Sie IF AND, um mehrere Bedingungen in VBA zu testen
Angenommen, wir haben die folgenden Daten in Excel:
Angenommen, wir möchten feststellen, ob der Teamname Warriors lautet und der Punktewert größer als 100 ist, und das Ergebnis in Zelle C2 zurückgeben.
Dazu können wir das folgende Makro erstellen:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Das Makro gibt korrekt den Wert „Nein“ zurück. in Zelle C2 , da die beiden Bedingungen nicht erfüllt waren.
Wenn wir den Wert der Punkte in Zelle B2 ändern und dann das Makro erneut ausführen, prüft es, ob beide Bedingungen für die neuen Werte erfüllt sind:
Angenommen, wir ändern den Punktwert auf 104 und führen das Makro erneut aus:
Das Makro gibt korrekt den Wert „Ja!“ zurück. » in Zelle C2 , da beide Bedingungen erfüllt waren.
Wenn Sie die Ergebnisse stattdessen in einem Meldungsfeld anzeigen möchten, können Sie die folgende Syntax verwenden:
SubIfAnd ()
If Range(" A2 ") = "Warriors" And Range(" B2 ") > 100 Then
MsgBox “ Yes! ”
Else
MsgBox “ No. ”
End If
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Das Meldungsfeld gibt „Ja!“ zurück. » da der Teamname Warriors ist und der Punktwert größer als 100 ist.
Hinweis : In diesem Beispiel haben wir den Und- Operator nur einmal in unserem Makro verwendet, um zu testen, ob zwei Bedingungen erfüllt sind. Sie können jedoch so viele Und- Operatoren verwenden, wie Sie möchten, um zu testen, ob mehr als zwei Bedingungen erfüllt sind.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: So verwenden Sie VLOOKUP
VBA: So zählen Sie das Vorkommen von Zeichen in einer Zeichenfolge
VBA: So überprüfen Sie, ob eine Zeichenfolge eine andere Zeichenfolge enthält