VBA – Kombination von If mit And, Or und Not

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on August 4, 2023

In diesem Tutorial zeigen wir Ihnen, wie Sie die If-Anweisung mit And, Or und Not in VBA verwenden können.

Wenn wir eine IF-Anweisung in Excel VBA verwenden, führt diese eine Codezeile aus, wenn die zu prüfende Bedingung erfüllt ist.

  • Wir können AND- und OR-Anweisungen in Verbindung mit IF-Anweisungen verwenden, um auf mehr als eine Bedingung zu prüfen und den Code entsprechend zu steuern.
  • Wir können auch eine NOT-Anweisung mit einer IF-Anweisung verwenden, um zu prüfen, ob die Bedingung NICHT wahr ist. Sie ist im Grunde die Umkehrung der IF-Anweisung, wenn sie allein verwendet wird.

IF…AND

Die IF…AND-Kombination von logischen Operatoren kann verwendet werden, wenn mehr als eine Bedingung geprüft werden soll, wobei alle Bedingungen wahr sein müssen, damit die nächste Codezeile ausgeführt werden kann.

Betrachten wir zum Beispiel das folgende Blatt:

VBA If And Ausgangsdaten

Um zu prüfen, ob der Gewinn über 5.000 $ liegt, können wir das folgende Makro ausführen:

Sub GewinnPruefen()
 If Range("C5") >= 10000 And Range("C6") < 5000 Then
 MsgBox "$5,000 Gewinn erzielt!"
 Else
 Msgbox "Kein Gewinn erzielt!"
 End If
End Sub

Dieses Makro prüft, ob die Zelle C5 größer oder gleich $10.000 ist UND ob die Zelle B6 kleiner als $5.000 ist. Wenn beide Bedingungen erfüllt sind, wird die folgende Meldungsbox angezeigt:

VBA If And Meldungsbox

Wenn wir das Makro so ändern, dass es prüft, ob C5 nur größer als 10.000 $ ist, wird der Gewinn nicht erzielt!

VBA If And Code aendern

WENN…ODER

Wir können die IF…OR-Kombination von logischen Operatoren verwenden, wenn wir auf mehr als eine Bedingung prüfen wollen, wobei nur eine der Bedingungen wahr sein muss, damit die nächste Codezeile ausgeführt wird.

Das Format hierfür ist fast identisch mit dem obigen IF…AND-Beispiel.

Sub GewinnPruefen()
 If Range("C5") > 10000 Or Range("C6") < 5000 Then
 MsgBox "$5,000 Gewinn erzielt!"
 Else
 Msgbox "Gewinn nicht erzielt!"
 End If
End Sub

Da wir bei diesem Makro jedoch eine IF…OR-Anweisung verwenden, muss nur eine der Bedingungen wahr sein.

VBA If Or Meldungsbox

IF NOT…

IF NOT kehr die IF-Anweisung um. Es wird geprüft, ob die Bedingung NICHT wahr ist, anstatt zu prüfen, ob diese wahr ist.

Sub GewinnPruefen()
If NOT Range("C5")< 10000 Or Range("C6") < 5000 Then
 MsgBox "$5.000 Gewinn erzielt!" 
Else
 MsgBox "Kein Gewinn erzielt!" 
End If
End Sub

Im obigen Beispiel prüft die IF-Anweisung, ob der Wert in C5 NICHT kleiner als 10000 ist.

Daher prüfen diese Codezeile

IF Range("C5") > 10000

und diese Codezeile

IF NOT Bereich("C5") < 10000

auf das Gleiche!

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples