Wie verwende ich die If Else-Anweisung in VBA? (mit Beispielen)

Inhaltsverzeichnis

Excel VBA IF Else-Anweisung

Es gibt keine IF Else-Anweisung im Arbeitsblatt und sie kann nur im VBA-Code verwendet werden. Während der Arbeit in VBA können wir eine Bedingung bereitstellen, die die If-Bedingungsanweisung ist. Wenn eine bestimmte Anweisung erfüllt ist, wird sie ausgeführt und if Wenn die Bedingung die Anweisung nicht erfüllt, wird die Anweisung else ausgeführt.

VBA unterscheidet sich nicht von logischen Tests. Es funktioniert genauso wie in normalen Arbeitsblättern. Von allen logischen Funktionen wird meistens die Funktion „IF“ aus dem Los verwendet. Mit IF können wir einen logischen Test durchführen und zu den Entscheidungen gelangen, wenn der logische Test erfüllt ist, und alternative Entscheidungen treffen, wenn der logische Test nicht erfüllt ist.

Unten finden Sie die Syntax der IF Else-Bedingung.

WENN dann, wenn der logische Test WAHR ist, sonst, wenn der logische Test FALSCH ist. Ende WENN

Was ist VBA IF Then Else Statement?

Sobald der angegebene logische Test FALSE ist, benötigen wir eine alternative Aufgabe, die als Teil des Codes ausgeführt werden soll. "WENN ELSE" bedeutet also, wenn der logische Test FALSE ist, was sonst noch zu tun ist.

Um das folgende Beispiel besser zu verstehen, haben wir das Ergebnis nur dann als "10 ist größer" angegeben, wenn der logische Test WAHR ist. Im logischen Ergebnis FALSE können wir jedoch das alternative Ergebnis als „10 ist kleiner“ angeben.

Geben Sie das Wort "ELSE" ein, sobald die logischen Tests geliefert und der TRUE-Teilecode in die nächste Zeile geschrieben wurde.

ELSE bedeutet, wenn der logische Test nicht TRUE ist, benötigen wir das Ergebnis als „10 ist kleiner“.

Code:

Sub IF_Else_Example1 () Wenn 10> 11, dann ist MsgBox "10 größer" Else MsgBox "10 ist kleiner" End If End Sub

Jetzt liefert unser Code mindestens eines der oben genannten Ergebnisse. Führen Sie den Code aus und sehen Sie das Ergebnis.

Da wir das alternative Ergebnis angegeben haben, wenn der logische Test FALSE ist, wurde das alternative Ergebnis als "10 ist kleiner" angezeigt, da 10 kleiner als die andere Zahl 11 ist.

Beispiel

Schauen Sie sich zum Beispiel die folgenden Daten an.

Mit diesen Daten müssen wir den Status basierend auf den „Kosten“ jedes Produkts ermitteln. Um den Status unten zu erreichen, sind die Kriterien.

Wenn der Selbstkostenpreis> 50 ist, sollte der Status " Teuer " oder der Status " Nicht teuer " sein.

Hier müssen wir den Selbstkostenpreis testen, dh logisch testen, ob der Selbstkostenpreis> 50 ist oder nicht. Wenn der logische Test WAHR ist, dh der Selbstkostenpreis mehr als 50 beträgt, benötigen wir den Status "Teuer", und wenn der logische Test FALSCH ist, dh der Selbstkostenpreis weniger als 50 beträgt, benötigen wir das alternative Ergebnis als "Nicht teuer."

Ok, lass uns jetzt den Code schreiben. Kopieren Sie zuvor die obige Tabelle und fügen Sie sie in ein Excel-Arbeitsblatt ein.

Schritt 1: Starten Sie die Unterprozedur.

Sub IF_ELSE_Example2 () End Sub

Schritt 2: Deklarieren Sie die Variable als Integer-Datentyp.

Dim k As Integer

Schritt 3: Da wir mehr als einen Zellenwert testen müssen, müssen wir FOR VBA LOOP verwenden, um die Zellen zu durchlaufen und die Logik für alle Zellen anzuwenden.

Wir müssen logische Tests aus der 2. Reihe bis 8 gelten th Reihe, so FOR LOOP starten von 2 bis 8.

Code:

Für k = 2 bis 8 Weiter k

Schritt 4: Innerhalb dieser Schleife müssen wir den logischen Test ausführen. Öffnen Sie also die IF-Anweisung und wählen Sie die erste Zelle mithilfe der CELLS-Eigenschaft aus.

Code:

Wenn Zellen (k, 2) .Wert> 50 Dann

Hier bedeutet Zellen (k, 2) Zeile (Wert von k) und Spalte 2.

Schritt 5: Wenn dieser Zellenwert> 50 ist, benötigen wir das Ergebnis als "Teuer" in der nächsten Spaltenzelle. Also wird Code sein -

Code:

Zellen (k, 3) .Value = "Teuer"

Schritt 6: Wenn der Test nicht WAHR ist, benötigen wir die Ergebnisse der ELSE-Anweisung, dh "Nicht teuer".

Code:

Sub IF_ELSE_Example2 () Dim k As Integer Für k = 2 bis 8 Wenn Zellen (k, 2) .Wert> 50 Dann Zellen (k, 3) .Value = "Teuer" Sonst Zellen (k, 3) .Wert = "Nicht Teuer "End If Next k End Sub

Dieser Code wird eine Schleife durch 2 nd bis 8. Zeile prüft die Zahlen und kommen zu dem Ergebnis , basierend auf den Selbstkostenpreis.

Auf diese Weise können wir If-Else verwenden, um alternative Ergebnisse zu erzielen.

Dinge, an die man sich erinnern sollte

  • Andernfalls gilt die Anweisung für einen FALSE-logischen Test.
  • Wenn Sie mehr als zwei logische Tests in Excel anwenden möchten, müssen Sie die Anweisung ELSE IF verwenden.
  • Bei der Ausführung von Aufgaben für mehr als eine Zelle müssen Schleifen verwendet werden.
  • If Else-Anweisung kann nur einen logischen Test testen.

Interessante Beiträge...