(0) exportieren Drucken
Alle erweitern

If...Then...Else-Anweisung (Visual Basic)

Führt abhängig vom Wert eines Ausdrucks eine Reihe von Anweisungen aus.


If condition [ Then ]
    [ statements ]
[ ElseIf elseifcondition [ Then ]
    [ elseifstatements ] ]
[ Else
    [ elsestatements ] ]
End If
-or-
If condition Then [ statements ] [ Else [ elsestatements ] ]

condition

Erforderlich. Ausdruck. Muss True oder False sein oder einen Datentyp ergeben, der implizit in Boolean konvertiert werden kann.

Then

Bei einzeiliger Syntax erforderlich, bei mehrzeiliger Syntax optional.

statements

Optional. Eine oder mehrere Anweisungen nach If...Then, die ausgeführt werden, wenn condition True ist.

elseifcondition

Erforderlich, wenn ElseIf vorhanden ist. Ausdruck. Muss True oder False sein oder einen Datentyp ergeben, der implizit in Boolean konvertiert werden kann.

elseifstatements

Optional. Eine oder mehrere Anweisungen nach ElseIf...Then, die ausgeführt werden, wenn elseifcondition True ist.

elsestatements

Optional. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn kein vorheriger condition-Ausdruck oder elseifcondition-Ausdruck True ist.

End If

Beendet den If...Then...Else-Block.

Die einzeilige Variante bietet sich bei einfachen, kurzen Tests an. Die mehrzeilige Variante ist dagegen strukturierter und flexibler und kann in der Regel leichter gelesen, gepflegt und gedebuggt werden.

Beim Auftreten einer mehrzeiligen If...Then...Else-Anweisung wird condition getestet. Wenn condition True ist, werden die Anweisungen nach Then ausgeführt. Wenn condition False ist, werden die einzelnen ElseIf-Anweisungen nacheinander ausgewertet. Sobald ein Wert für elseifcondition True ergibt, werden die Anweisungen ausgeführt, die unmittelbar auf das zugehörige Then folgen. Wenn keine elseifcondition True ist oder wenn keine ElseIf-Anweisungen vorhanden sind, werden die Anweisungen nach Else ausgeführt. Nach der Ausführung der Anweisungen nach Then, ElseIf oder Else wird die Anweisung nach End If ausgeführt.

NoteTipp

Die Select...Case-Anweisung (Visual Basic) kann besonders in Situationen sinnvoll sein, in denen ein einzelner Ausdruck mit verschiedenen möglichen Werten ausgewertet wird.

Die einzeilige Syntax ermöglicht die Ausführung mehrerer Anweisungen als Folge einer If...Then-Entscheidung. Alle Anweisungen müssen sich in derselben Zeile befinden und durch Doppelpunkt getrennt werden. Das folgende Beispiel veranschaulicht dies.

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Bei mehrzeiliger Syntax muss die If-Anweisung die einzige Anweisung in der ersten Zeile sein. Von den Anweisungen ElseIf, Elseund End If kann nur eine Zeilenmarke stehen. Der mehrzeilige If...Then...Else-Block muss mit einer End If-Anweisung enden.

Sie können bestimmen, ob eine If-Anweisung eine mehrzeilige Syntax einleitet, indem Sie den Code überprüfen, der auf das Then-Schlüsselwort folgt. Wenn in derselben Anweisung auf Then etwas anderes als ein Kommentar folgt, wird die Anweisung als einzeilige If-Anweisung behandelt. Wenn Then nicht vorhanden ist, muss es sich um den Anfang einer mehrzeiligen If...Then...Else-Anweisung handeln.

Die ElseIf-Klausel und die Else-Klausel sind optional. In einer mehrzeiligen If...Then...Else-Anweisung können beliebig viele ElseIf-Klauseln verwendet werden, nach einer Else-Klausel sind sie jedoch nicht zulässig. Mehrzeilige Varianten können geschachtelt werden.

Im folgenden Beispiel wird die einzeilige und die mehrzeilige Variante der If...Then...Else-Anweisung dargestellt.

Dim number, digits As Integer
Dim myString As String
number = 53
If number < 10 Then
    digits = 1
ElseIf number < 100 Then
    digits = 2
Else
    digits = 3
End If
If digits = 1 Then myString = "One" Else myString = "More than one"

Im vorherigen Beispiel ist die ElseIf-Bedingung True, und digits wird der Wert 2 zugewiesen. Die letzte Anweisung weist anschließend myString den Wert "More than one" zu.

Anzeigen:
© 2014 Microsoft