If...Then...Else Statement

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

Syntax:

If...EndIf statement

ElseIf fragment

Else fragment


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

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

tip

If statements can be shortened to one line when using single statement blocks.



  If condition Then statement [Else statement]

Parameters:

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 expression 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.

Oni povas ingi plurajn ordonojn If...Then.

Ordonoj Else kaj ElseIf estas nedevigaj.

Averta bildsimbolo

Oni povas uzi ordonojn GoTo kaj GoSub por salti el If...Then bloko, sed ne por salti en strukturon If...Then.


Example:

La jena ekzemplo ebligas al uzanto entajpi la finiĝan daton de produkto, kaj komputas ĉu la finiĝa dato jam pasis.


Sub ExampleIfThenDate
    Dim sDate As String
    Dim sToday As String
    sDate = InputBox("Tajpu la finiĝan daton (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 "La finiĝa dato jam pasis"
    ElseIf sDate > sToday Then
        MsgBox "La finiĝa dato ankoraŭ ne pasis"
    Else
        MsgBox "La finiĝa dato estas hodiaŭ"
    End If
End Sub

Select Case statement

Iif or Switch functions

Bonvolu subteni nin!