If...Then...Else Statement

Defines one or more statement blocks that you only want to execute if a given condition is True.


If condition=true Then Statement block [ElseIf condition=true Then] Statement block [Else] Statement block EndIf

Instead of Else If you can write ElseIf, instead of End If you can write EndIf.


The If...Then statement executes program blocks depending on given conditions. When LibreOffice Basic encounters an If statement, the condition is tested. If the condition is True, all subsequent statements up to the next Else or ElseIf statement are executed. If the condition is False and an ElseIf statement follows, LibreOffice Basic tests the next condition and executes the following statements if the condition is True. If False, the program continues either with the next ElseIf or Else statement. Statements following Else are executed only if none of the previously tested conditions were True. After all conditions are evaluated and the corresponding statements executed, the program continues with the statement following EndIf.

You can nest multiple If...Then statements.

Else and ElseIf statements are optional.

Warning Icon

You can use GoTo and GoSub to jump out of an If...Then block, but not to jump into an If...Then structure.

The following example enables you to enter the expiry date of a product and determines if the expiry date has passed.


Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
    sDate = InputBox("Enter the expiry date (MM.DD.YYYY)")
    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 "The expiry date has passed"
    ElseIf sDate > sToday Then
        MsgBox "The expiry date has not yet passed"
        MsgBox "The expiry date is today"
    End If
End Sub

Please support us!