Freigeben über


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.