Verwenden von If...Then...Else-Anweisungen
Mit der If...Then...Else-Anweisung können Sie eine spezifische Anweisung oder einen Block von Anweisungen abhängig vom Wert einer Bedingung ausführen. If...Then...Else-Anweisungen können je nach Bedarf beliebig viele geschachtelte Ebenen umfassen.
Aus Gründen der Lesbarkeit sollten Sie jedoch eine Select Case-Anweisung anstelle von mehreren Ebenen verschachtelter If...Then...Else-Anwendungen verwenden.
Ausführen von Anweisungen, wenn die Bedingung "True" ergibt
Zum Ausführen von einer einzigen Anweisung, wenn eine Bedingung True ergibt, verwenden Sie die einzeilige Syntax der If...Then...Else-Anweisung. Das folgende Beispiel zeigt die einzeilige Syntax, wobei die ElseSchlüsselwort (keyword) weggelassen wird.
Sub FixDate()
myDate = #2/13/95#
If myDate < Now Then myDate = Now
End Sub
Wenn Sie mehr als eine Zeile Code ausführen möchten, müssen Sie die mehrzeilige Syntax verwenden. Diese Syntax enthält die End If-Anweisung, wie im folgenden Beispiel dargestellt.
Sub AlertUser(value as Long)
If value = 0 Then
AlertLabel.ForeColor = "Red"
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
End If
End Sub
Ausführen bestimmter Anweisungen, wenn die Bedingung "True" ergibt, und anderer, wenn sie "False" ergibt
Definieren Sie mit einer If...Then...Else-Anweisung zwei Blöcke von ausführbaren Anweisungen: Ein Block wird ausgeführt, wenn die Bedingung True ergibt, der andere wird ausgeführt, wenn die Bedingung False ergibt.
Sub AlertUser(value as Long)
If value = 0 Then
AlertLabel.ForeColor = vbRed
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
Else
AlertLabel.Forecolor = vbBlack
AlertLabel.Font.Bold = False
AlertLabel.Font.Italic = False
End If
End Sub
Prüfen einer zweiten Bedingung, wenn die erste "False" ergibt
Sie können ElseIf -Anweisungen in eine If...Then...Else -Anweisung einfügen, um eine zweite Bedingung zu prüfen, wenn die erste Bedingung False ergibt. Beispielsweise wird mit der folgenden Funktionsprozedur ein Bonus anhand einer Auftragsklassifizierung berechnet. Die Anweisung nach der Else -Anweisung wird ausgeführt, wenn die Bedingungen aller If - und ElseIf -Anweisungen False ergeben.
Function Bonus(performance, salary)
If performance = 1 Then
Bonus = salary * 0.1
ElseIf performance = 2 Then
Bonus = salary * 0.09
ElseIf performance = 3 Then
Bonus = salary * 0.07
Else
Bonus = 0
End If
End Function
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.