excel-vba
Bedingte Anweisungen
Suche…
Die If-Anweisung
Die If
Steueranweisung ermöglicht die Ausführung von unterschiedlichem Code, abhängig von der Auswertung einer bedingten (booleschen) Anweisung. Eine Bedingungsanweisung ist eine, die entweder True
oder False
ergibt, z. B. x > 2
.
Bei der Implementierung einer If
Anweisung können drei Muster verwendet werden, die im Folgenden beschrieben werden. Beachten Sie, dass auf eine bedingte If
Bewertung immer ein Then
folgt.
1. Eine auswerten If
bedingte Anweisung und etwas tun, wenn es True
Einzeilige If
Anweisung
Dies ist der kürzeste Weg, ein If
und es ist nützlich, wenn bei einer True
Auswertung nur eine Anweisung ausgeführt werden muss. Bei Verwendung dieser Syntax muss sich der gesamte Code in einer einzelnen Zeile befinden. Fügen Sie am Ende der Zeile kein End If
.
If [Some condition is True] Then [Do something]
If
blockieren
Wenn bei einer True
Auswertung mehrere Codezeilen ausgeführt werden müssen, kann ein If
Block verwendet werden.
If [Some condition is True] Then
[Do some things]
End If
Beachten Sie, dass bei Verwendung eines mehrzeiligen If
Blocks ein entsprechendes End If
erforderlich ist.
2. Eine bedingte If
Anweisung auswerten, eine Sache tun, wenn sie True
und etwas anderes, wenn sie False
Einzelne Zeile If
, Else
Anweisung
Dies kann verwendet werden, wenn eine Anweisung bei einer True
Auswertung und eine andere Anweisung bei einer False
Auswertung ausgeführt werden soll. Seien Sie vorsichtig mit dieser Syntax, da den Lesern oftmals weniger klar ist, dass es eine Else
Anweisung gibt. Bei Verwendung dieser Syntax muss sich der gesamte Code in einer einzelnen Zeile befinden. Fügen Sie am Ende der Zeile kein End If
.
If [Some condition is True] Then [Do something] Else [Do something else]
If
, Else
blockieren
Verwenden Sie einen If
, Else
Block, um den Code klarer zu machen, oder wenn mehrere Codezeilen unter einer True
oder einer False
Auswertung ausgeführt werden müssen.
If [Some condition is True] Then
[Do some things]
Else
[Do some other things]
End If
Beachten Sie, dass bei Verwendung eines mehrzeiligen If
Blocks ein entsprechendes End If
erforderlich ist.
3. Viele bedingte Anweisungen auswerten, wenn die vorangegangenen Aussagen alle False
, und für jede einzelne etwas anderes tun
Dieses Muster ist die allgemeinste Verwendung von If
und würde verwendet, wenn viele nicht überlappende Bedingungen vorliegen, die eine andere Behandlung erfordern. Im Gegensatz zu den ersten beiden Mustern erfordert dieser Fall die Verwendung eines If
Blocks, auch wenn nur eine Codezeile für jede Bedingung ausgeführt wird.
If
, ElseIf
, ...
, Else
Block
Anstatt viele If
Blöcke untereinander ElseIf
kann ein ElseIf
verwendet werden, um eine zusätzliche Bedingung auszuwerten. Die ElseIf
wird nur ausgewertet, wenn eine vorangehende If
Bewertung False
.
If [Some condition is True] Then
[Do some thing(s)]
ElseIf [Some other condition is True] Then
[Do some different thing(s)]
Else 'Everything above has evaluated to False
[Do some other thing(s)]
End If
ElseIf
können beliebig viele ElseIf
Steueranweisungen zwischen einem If
und einem End If
ElseIf
werden. Eine Else
Steueranweisung ist nicht erforderlich, wenn ElseIf
(obwohl dies empfohlen wird). Wenn sie jedoch enthalten ist, muss es die letzte Steueranweisung vor dem End If
.