Inhalte

# Anweisung If…Then…Else

Definiert einen oder mehrere Anweisungsblöcke, die Sie nur ausführen möchten, wenn eine gegebene Bedingung oder ein Ausdruck True ist.

### Syntax:

      If condition Then
          statements
      [{ElseIf} condition Then
          statements]
      [Else
          statements]
      {EndIf|End If}

Anstelle von End If kann EndIf verwendet werden.

Anweisungen If können bei Verwendung einzelner Anweisungsblöcke auf eine Zeile gekürzt werden.

      If condition Then statement [Else statement]

### Parameter:

Die Anweisung If…Then führt Programmblöcke abhängig von gegebenen Bedingungen aus. Wenn LibreOffice Basic auf eine Anweisung If stößt, wird die Bedingung getestet. Wenn die Bedingung True ist, werden alle nachfolgenden Anweisungen bis zur nächsten Anweisung Else oder ElseIf ausgeführt. Wenn die Bedingung False ist und eine Anweisung ElseIf folgt, testet LibreOffice Basic den nächsten Ausdruck und führt die folgenden Anweisungen aus, wenn die Bedingung True ist . Bei False fährt das Programm entweder mit der nächsten Anweisung ElseIf oder Else fort. Anweisungen, die auf Else folgen, werden nur ausgeführt, wenn keine der zuvor getesteten Bedingungen True war. Nachdem alle Bedingungen ausgewertet und die entsprechenden Anweisungen ausgeführt wurden, fährt das Programm mit der Anweisung nach EndIf fort.

Sie können mehrere Anweisung If…Then verschachteln.

Else und ElseIf-Statements brauchen nicht mit angegeben zu werden, sind also optional.

Ihr Programm darf zwar mit Hilfe von GoTo und GoSub aus einer Konstruktion If…Then herausspringen, jedoch nicht in eine Struktur If…Then hineinspringen.

### Beispiel:

Das folgende Beispiel lässt Sie das Verfallsdatum eines Produkts eingeben und bestimmt dann, ob es abgelaufen ist.

    Sub ExampleIfThenDate
        Dim sInput As String
        Dim dInput As Date

      On Error Goto inputError
        sInput = InputBox("Geben Sie das Ablaufdatum ein (YYYY-MM-DD)")
        dInput = DateValue(sInput)

        If dInput < Date() Then
            MsgBox "Das Verfalldatum ist abgelaufen"
        ElseIf dInput > Date() Then
            MsgBox "Das Verfalldatum ist noch nicht abgelaufen"
        Else
            MsgBox "Das Verfalldatum läuft heute ab"
        End If

    inputError:
        If dInput = 0 Then MsgBox "Ungültige Eingabe"
    End Sub

Verwandte Themen

Anweisung Select Case

Funktionen If oder Switch