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:

Anweisung If…EndIf

Diagrammfragment zu ElseIf

Diagrammfragment zu Else


  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.

tip

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.

Warnsymbol

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

Anweisung Select Case

Funktionen If oder Switch

Bitte unterstützen Sie uns!