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|Else If} expression Then
          statements]
      [Else
          statements]
      {EndIf|End If}

Anstelle von Else If können Sie auch ElseIf und anstelle von End If EndIf schreiben.

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 sDate As String
        Dim sToday As String
        sDate = InputBox("Bitte geben Sie das Verfallsdatum ein (TT.MM.JJJJ)")
        sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
        sToday = Date$
        sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
        If sDate < sToday Then
            MsgBox "Das Verfalldatum ist abgelaufen"
        ElseIf sDate > sToday Then
            MsgBox "Das Verfalldatum ist noch nicht abgelaufen"
        Else
            MsgBox "Das Verfalldatum läuft heute ab"
        End If
    End Sub

Verwandte Themen

Anweisung Select Case

Funktionen If oder Switch