Excel VBA IF-Anweisungen

Die IF-Anweisung im VBA-Code ist eine der am häufigsten verwendeten Anweisungen, mit der Sie eine Auswahl treffen können. Die WENN-Funktion in VBA unterscheidet sich von der EXCEL-WENN-Funktion, dh in Excel. Die WENN-Funktion oder -Formel prüft, ob die angegebene Bedingung oder das angegebene Kriterium zu WAHR oder FALSCH ausgewertet wird, und gibt dann einen auf der Auswertung basierenden Wert zurück. Die VBA-WENN-Anweisung führt nur die erste aus Die Hälfte der Anweisung, dh überprüfen Sie, ob die Bedingung als TRUE oder FALSE ausgewertet wird. Außerdem muss die THEN-Anweisung in die VBA-IF-Anweisung eingegeben werden, damit die verbleibende Operation oder Aufgabe ausgeführt werden kann.

Drei Parameter, die Sie beim Schreiben des VBA-IF-Anweisungscodes berücksichtigen müssen.

  • Eine zu testende Bedingung oder ein zu testender Parameter.
  • Eine Operation oder Aufgabe, die ausgeführt werden soll, wenn die Bedingung WAHR ist.
  • Eine Operation oder Aufgabe, die ausgeführt werden soll, wenn die Bedingung FALSE ist

Es handelt sich um eine Entscheidung, mit der ein Codeblock ausgeführt wird.

Es führt eine Aufgabe oder Operation aus, wenn eine Bedingung WAHR ist, sonst nichts tut oder etwas anderes tut. Normalerweise besteht eine if-Anweisung aus einem Booleschen Ausdruck, gefolgt von Anweisungen (es können eine oder mehrere sein).

Einfache bis komplexe Bedingungen können in einer VBA-IF-Anweisung geschrieben werden.

Im Folgenden werden die verschiedenen Typen von VBA-IF-Anweisungen mit ihrer Syntax und ihren Beispielen aufgeführt.

IF-AnweisungstypenSyntax
WENN, DANNWenn dann (Aussage)

Ende wenn

ANSONSTENWenn dann (Statement1)

Sonst:

(Statement2)

Ende wenn

WENN ELSEIFWENN dann

(Statement1)

ELSEIF Dann

(Statement2)

End If

ELSE UND ELSEIF

(ELSEIF-Anweisung muss zuerst kommen, danach ELSE)

IF (Bedingung1 ist wahr) Dann

(Statement1)

ELSEIF (Bedingung2 ist wahr) Dann

(Statement2)

SONST

(Statement3)

End If

WENN OHNE ENDE

(nur einzeiliger Code)

Wird verwendet, wenn die Anweisung ELSE oder ELSE IF nicht verwendet wird

IF (Bedingung ist wahr) Then (Anweisung)

Neben der obigen Anweisung kann auch die NESTED IF- Anweisung verwendet werden, dh eine if- oder ELSEIF-Anweisung innerhalb einer anderen if- oder ELSEIF-Anweisung.

Wie verwende ich IF-Anweisungen in Excel VBA?

Wir werden die Typen und die Verwendung von VBA-IF-Anweisungen anhand einiger Beispiele in Excel lernen.

Sie können diese Excel-Vorlage für VBA-IF-Anweisungen hier herunterladen - Excel-Vorlage für VBA-IF-Anweisungen
  • Öffnen Sie ein VB Editor-Fenster. Wählen Sie oder klicken Sie auf Visual Basic in der Gruppe Code auf der Registerkarte Entwickler oder Sie können direkt auf die Tastenkombination Alt + F11 klicken.

  • Dadurch gelangen wir zum Visual Basic-Codierungsfenster. Gehen Sie nun im VBA-Fenster zum Menü Einfügen und wählen Sie Modul wie unten gezeigt aus.

  • Nachdem das leere Modul erstellt wurde, wird es auch als Codefenster bezeichnet, in dem Sie mit dem Schreiben von if-Anweisungscodes beginnen können.

VBA IF THEN-Anweisung - Beispiel 1

WENN DANN eine einfache Form der VBA-Anweisung ist. Das Format zum Schreiben eines Codes lautet:

Wenn dann

Sie sollten die übereinstimmende End If- Anweisung verwenden, nachdem Sie die obige Syntax eingegeben haben. Wenn die Bedingung erfüllt oder das Kriterium wahr ist, werden alle Zeilen zwischen If Then und End If verarbeitet.

Wenn Sie Sub IF_THEN () als erste Nachricht ohne Anführungszeichen eingeben, fügt Excel automatisch die Zeile End Sub unterhalb der ersten Nachrichtenzeile hinzu, wenn Sie die Eingabetaste drücken. Jetzt müssen sich alle von Ihnen eingegebenen Codes zwischen diesen beiden Zeilen befinden.

Code:

 Sub IF_THEN () Wenn 3> 2, dann ist MsgBox "3 größer als 2" End If End Sub 

Schauen wir uns den obigen Code an, der eine einzelne Zeile der IF-Anweisung enthält, die den Wert 3 überprüft oder überprüft.

Ist der Wert "3" größer als "2", erscheint eine Popup-Meldung mit der Meldung "3 ist größer als 2". Wenn Sie den Wert im VBA-Code von " 2 " auf " 5 " ändern und ausführen, geschieht nichts. Weil 3 nicht größer als 5 ist.

Sie können das Makro ausführen, indem Sie auf die Schaltfläche Sub ausführen klicken oder F5 drücken. Das Popup-Fenster des VBA-Meldungsfelds wird mit der Meldung "3 ist größer als 2" angezeigt.

VBA IF-THEN-ELSE-Anweisung - Beispiel 2

In diesem Szenario werden mit der IF & ELSE- Anweisung zwei verschiedene Bedingungen ausgeführt. Das Format oder die Syntax zum Schreiben von Code lautet:

Wenn dann

Statement1

Sonst:

Statement2

Ende wenn

WENN Sie einen der folgenden Codes ausführen: Wenn die Zelle B4 den Wert 7 enthält, wird ein Meldungsfeld mit der Meldung "Zelle B4 hat den Wert 7" angezeigt. Wenn die Zelle B4 einen anderen Wert als 7 enthält, wird der Wert 7 angezeigt Ein Meldungsfeld mit der Meldung „Zelle B4 hat einen anderen Wert als 7“.

Hierbei tritt basierend auf dem in der Zelle vorhandenen Wert ein unterschiedliches Ergebnis auf (dh mehr als eine Bedingung).

Code:

 Sub IF_THEN_ELSE () If Range ("B4"). Value = "7" Dann hat MsgBox "Cell B4 den Wert 7" Else MsgBox "Cell B4 hat einen anderen Wert als 7" End If End Sub 

Jetzt enthält die Zelle „B4“ den Wert 7. Wenn ich über dem Code liege, wird die erste Bedingung angezeigt.

Angenommen, ich habe den Wert der Zelle "B4" von 7 auf 5 geändert, wie unten gezeigt.

Code:

 Sub IF_THEN_ELSE () If Range ("B4"). Value = "5" Dann hat MsgBox "Cell B4 den Wert 7" Else MsgBox "Cell B4 hat einen anderen Wert als 7" End If End Sub 

Wenn ich also den VBA IF-THEN-ELSE-Code überschreite, wird die zweite Bedingung angezeigt.

IF-THEN-ELSEIF-ELSE - Beispiel # 3

Es ist eine erweiterte Form der VBA-if-Anweisung, das Format oder die Syntax zum Schreiben eines Codes ist

IF (Bedingung1 ist wahr) Dann

(Statement1)

ELSEIF (Bedingung2 ist wahr) Dann

(Statement2)

SONST

(Statement3)

End If

Der Vorteil dieses Codes ist, dass ELSE IF je nach Ihren Anforderungen einzeln oder mehrmals (10- oder 100-mal oder mehr) verwendet werden kann.

Code:

 Sub IF_THEN_ELSEIF_ELSE () Wenn 5> 8, dann ist MsgBox "5 größer als 8" ElseIf 6> 8, dann ist MsgBox "6 größer als 8" ElseIf 7> 8, dann ist MsgBox "7 größer als 8" Else MsgBox "5, 6 oder 7 ist kleiner als 8 "End If End Sub 

Sehen wir uns an, wie der obige Code funktioniert. Excel initiiert oder verarbeitet die erste Anweisung, wenn es feststellt, dass sie falsch ist, und geht dann zur nächsten über. Hier sind alle ElseIf-Argumente oder -Bedingungen falsch, daher wird sie fortgesetzt, bis die Bedingung wahr ist und als letztes Ergebnis der IF-Anweisung das Ergebnis des Else-Arguments angezeigt wird. Dh MsgBox "5, 6 oder 7 ist kleiner als 8", was ein WAHRES Argument ist.

Wenn Sie den Code durch Klicken auf die Schaltfläche Sub ausführen oder durch Drücken von F5 auswählen und ausführen. Das Popup-Fenster des VBA-Meldungsfelds mit der Meldung "5, 6 oder 7 ist kleiner als 8" ist ein wahres Argument

Jetzt können Sie diese Makrocodes speichern, indem Sie sie in VBA_IF_STATEMENT im Abschnitt name der Registerkarte properties umbenennen

Dinge, an die man sich erinnern sollte

  • Wenn die einzelne Zeile der IF Then-Anweisung verwendet wird, muss End IF nicht zuletzt verwendet werden. Wenn wir es jedoch in mehr als eine Zeile aufteilen, muss die End If-Anweisung verwendet werden.
  • In der Anweisung VBA, IF-THEN-ELSEIF-ELSE sollten ElseIf-Argumente immer vor dem Else-Argument stehen.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA-IF-Anweisungen. Hier wurde die Verwendung von IF-Anweisungen in Excel VBA zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA-Arrays in Excel
  2. Leitfaden zum VBA-Zahlenformat
  3. Leitfaden zur VBA-Suche
  4. Wie verwende ich VBA Do While Loop?

Kategorie: