Excel VBA sonst wenn

Mit VBA Else If können Sie einen Zustand analysieren und eine entsprechende Aktion ausführen. Die IF-Bedingung prüft, ob die angegebene Bedingung TRUE oder FALSE ist. Wenn die Bedingung TRUE ist, wird der zugewiesene Wert von Value zurückgegeben, wenn True, und der Wert IF False, wenn das Ergebnis FALSE ist.

Die Logik der IF-Bedingung in der regulären Excel-Formel und der VBA-Formel ist dieselbe. In diesem Artikel werde ich den vollständigen VBA-IF-Zustand behandeln.

Syntax der VBA-If-Anweisung

Sehen Sie sich zunächst die Syntax der IF-Anweisung in VBA an.

Dies ist unserer Arbeitsblattfunktion IF sehr ähnlich. Der einzige Unterschied besteht darin, dass wir das Wort THEN setzen müssen, um in der Funktion voranzukommen. Außerdem ist ein anderer Teil der IF-Bedingung im Gegensatz zu unserer normalen IF-Bedingung optional, und wir müssen das Ende der Funktion als End If angeben .

Tatsächlich gibt es ein Argument mehr, wenn die zu testenden Bedingungen mehr als eine Bedingung sind und dieser Teil als ELSE IF-Anweisung aufgerufen wird. Dies entspricht unserer verschachtelten IF-Bedingung in unseren Arbeitsblattberechnungen. ELSE IF erreicht den Bildwert, wenn die Bedingung FALSE ist. Dann müssen wir weitere Bedingungen mit ELSE IF testen.

In diesem Artikel erfahren Sie mehr über die ELSE IF-Bedingung in der Praxis.

Wie verwende ich VBA Else If Statement?

Lassen Sie uns anhand einiger Beispiele verstehen, wie VBA Else If Statement verwendet wird.

Sie können diese VBA Else If Excel-Vorlage hier herunterladen - VBA Else If Excel-Vorlage

Einfache if-Anweisung - Beispiel # 1

Nun genügt eine theoretische Erklärung, auch wenn Sie nichts verstanden haben, worüber Sie sich keine Sorgen machen müssen. Im praktischen Beispiel verstehen Sie die Logik.

Angenommen, Sie haben einen Wert in der Zelle A2 und möchten prüfen, ob die Zahl größer als 100 ist oder nicht. Wenn der Wert größer als 100 ist, benötigen wir den Wert in Zelle B2 als "Mehr als 100". Der folgende Code führt die erforderliche Aufgabe aus.

Code:

 Sub IF_Example1 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" End If End Sub 

Führen Sie dann diesen Code mit der Taste F5 oder manuell wie im Screenshot gezeigt aus. Dann können wir das Ergebnis in Zelle B2 sehen.

Wenn Sie den Wert in Zelle A2 in 99 ändern und den Code ausführen. Der Code gibt nichts zurück, da der Wert kleiner als 100 ist und wir kein Ergebnis geliefert haben, wenn der Test FALSE ist. Dies sehen wir im nächsten Beispiel.

Wenn mit anderer Aussage - Beispiel # 2

Wir haben gesehen, wie Single-IF mit TRUE-Bedingung funktioniert. Nun werden wir sehen, wie man arbeitet, wenn die gelieferte Bedingung FALSE ist.

Im aktuellen Code wird nach dem Wert True im nächsten Zeilentyp das Wort Else angegeben.

Code:

 Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Else End If End Sub 

Und in der nächsten Zeile schreiben Sie den Code für den falschen Wert.

Code:

 Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Else Range ("B2"). Value = "Less than 100" End If End Sub 

Führen Sie dann diesen Code mit der Taste F5 oder manuell wie im Screenshot gezeigt aus. Wenn der Wert größer als 100 ist, lautet das Ergebnis in Zelle B2 "Mehr als 100".

Wenn der Wert unter 100 liegt, ist das Ergebnis "Weniger als 100".

Geschachtelte If-Anweisung mit anderem If - Beispiel # 3

Wenn wir mehr als eine Bedingung testen möchten, müssen wir mehr IF-Anweisungen innerhalb der IF-Bedingung verwenden. In VBA müssen wir jedoch das Wort ELSE IF verwenden, um mehr als eine Bedingung zu testen.

Wenn der Wert in Zelle A2 beispielsweise größer als 200 ist, benötigen wir das Ergebnis als "Mehr als 200" in Zelle B1.

Wenn der Wert mehr als 100 beträgt, benötigen wir das Ergebnis als "Mehr als 100" in Zelle B2.

Wenn der Wert kleiner als 100 ist, benötigen wir das Ergebnis als "Kleiner als 100" in Zelle B2.

Schritt 1: Nach Übergabe des Wertes TRUE geben Sie in der nächsten Zeile das Wort ELSE IF ein.

Code:

 Unter IF_Beispiel3 () Wenn Bereich ("A2"). Wert> 200 Dann Bereich ("B2"). Wert = "Mehr als 200" SonstBereich ("A2"). Wert> 100 Dann Bereich ("B2"). Wert = "Mehr als 100" End If End Sub 

Schritt 2: Da wir bereits zwei Argumente getestet haben, bleibt uns nur eine Bedingung. Geben Sie nun in der nächsten Zeile das Endergebnis des Tests mit der ELSE-Anweisung an.

Code:

 Unter IF_Beispiel3 () Wenn Bereich ("A2"). Wert> 200 Dann Bereich ("B2"). Wert = "Mehr als 200" SonstBereich ("A2"). Wert> 100 Dann Bereich ("B2"). Wert = "Mehr als 100" Anderer Bereich ("B2"). Wert = "Weniger als 100" End If End Sub 

Schritt 3: Führen Sie diesen Code dann mit der Taste F5 oder manuell wie im Screenshot gezeigt aus, um die Ergebnisse anzuzeigen.

Ergebnis 1:

Ergebnis 2:

Ergebnis 3:

Verschachteltes If mit Schleife - Beispiel 4

Dies ist das erweiterte Beispiel für verschachtelte IF mit Schleife. Angenommen, Sie haben eine Verkaufstabelle mit Daten für 12 Monate.

In der Statusspalte benötigen wir das Ergebnis wie folgt.

  • Wenn der Verkaufswert mehr als 7000 beträgt, sollte das Ergebnis „Ausgezeichnet“ sein.
  • Wenn der Verkaufswert mehr als 6500 beträgt, sollte das Ergebnis „Sehr gut“ sein.
  • Wenn der Verkaufswert über 6000 liegt, sollte das Ergebnis "Gut" sein.
  • Wenn der Verkaufswert über 4000 liegt, sollte das Ergebnis "Nicht schlecht" sein.
  • Wenn alle Ergebnisse FALSCH sind, sollte das Ergebnis "Schlecht" sein.

Um diesen Test durchzuführen, benötigen wir den folgenden Code, der eine Kombination von IF mit ELSE IF und LOOP ist.

Code:

 Sub IF_Example4 () Dim i As Integer i = 2 For i = 2 To 13 If Cells (i, 2) .Value> = 7000 Then Cells (i, 3) .Value = "Excellent" ElseIf Cells (i, 2). Wert> = 6500 Dann Zellen (i, 3). Wert = "Sehr gut" sonst Zellen (i, 2). Wert> = 6000 Dann Zellen (i, 3). Wert = "Gut" sonst Zellen (i, 2) .Value> = 4000 Then Cells (i, 3) .Value = "Not Bad" Else Cells (i, 3) .Value = "Bad" End If Next i End Sub 

Führen Sie dann diesen Code mit der Taste F5 oder manuell wie im Screenshot gezeigt aus, um die Ergebnisse anzuzeigen.

Dinge, an die man sich erinnern sollte

  • Die ELSE IF-Anweisung erfordert den Ergebniscode in derselben Zeile und nicht in der nächsten Zeile und die THEN-Anweisung, um zur nächsten Anweisung zu gelangen.
  • Wenn die END IF-Anweisung nicht enthalten ist, wird der folgende Fehler ausgegeben.

  • Der Operator ist nichts anderes als eine IF-Anweisung.
  • Wie die Arbeitsblattfunktion können wir auch die AND & OR-Anweisung innerhalb der IF-Anweisung verwenden.

Empfohlene Artikel

Dies war ein Leitfaden für die VBA Else If-Anweisung. Hier haben wir VBA Else If und die Verwendung von Excel VBA Else If zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Wie verwende ich VBA Select Case?
  2. Wie benutze ich die VBA-Suchfunktion?
  3. Anleitung zur VBA-TRIM-Funktion
  4. Anleitung und Beispiele zu VBA-Schleifen

Kategorie: