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 das Else-Schlüsselwort 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.