Instructie If...Then...Else

Definieert een of meerdere statement blokken die u alleen wilt uitvoeren als er aan een gegeven conditie of expressie is voldaan, True.

Syntaxis:

Instructie If...EndIf

fragment ElseIf

fragment Else


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

In plaats van Else If kunt u ook schrijven ElseIf, in plaats van End If kunt u ook schrijven EndIf.

tip

If instructies kunnen tot een regel worden verkort wanneer het blok maar een instructie bevat.



  If condition Then statement [Else statement]

Parameters:

De instructie If...Then voert een blok met instructies uit afhankelijk van de conditie. Als er in LibreOffice Basic een instructie If gebruikt wordt, dan wordt de conditie getest. Als de conditie True is, dan worden alle volgende instructies tot de volgende Else of ElseIf uitgevoerd. Als de conditie False is, en er is een ElseIf instructie dan wordt door LibreOffice Basic die volgende expressie getest en de volgende instructies uitgevoerd als de condition is True. Bij False wordt er vervolgd met de volgende ElseIf of Else. Instructies na Else worden alleen uitgevoerd als geen van de eerder geteste conditie True waren. Na het evalueren van alle conditie en de bijbehorende instructies zijn uitgevoerd, gaat het programma verder met de instructie na de EndIf.

Er kunnen meerdere If...Then-instructies worden genest.

Else- en ElseIf-instructies zijn optioneel.

Waarschuwingspictogram

U kunt wel GoTo en GoSub gebruiken om uit een If...Then blok te springen, maar niet om een If...Then structuur binnen te springen.


Voorbeeld:

In het volgende voorbeeld kunt u de vervaldatum van een product invoeren, het resultaat geeft aan of de vervaldatum is gepasseerd.


Sub ExampleIfThenDate
    Dim sDate As String
    Dim sToday As String
    sDatum = InputBox("Voer de vervaldatum in : (DD-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 "De vervaldatum is gepasseerd."
    ElseIf sDate > sToday Then
        MsgBox "De vervaldatum is nog niet gepasseerd."
    Else
        MsgBox "De vervaldatum is vandaag."
    End If
End Sub

Select Case instructie

Functies Iif en Switch

Help ons, alstublieft!