Inhoud

# 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:

      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.

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.

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

Verwante onderwerpen

Select Case instructie

Functies Iif en Switch