Expressió If… Then… Else

Contingut

# If...Then...Else Statement

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

### Sintaxi:

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

Instead of End If you can write EndIf.

Si les expressions es poden escurçar a una línia quan s'utilitzen blocs d'expressió simples.

      If condition Then statement [Else statement]

### Paràmetres:

L'expressió If…Then executa blocs de programa depenent d'unes certes condicions. Quan el LibreOffice BASIC troba una expressió If, es prova la condició. Si la condició és True, s'executen totes les expressions posteriors fins a la següent expressió Else o ElseIf. Si la condició és False i li segueix una expressió ElseIf, el LibreOffice BASIC prova la següent expressió i executa les expressions següents si la condició és True. Si és False, el programa continua amb la següent expressió ElseIf o Else. Les expressions que segueixen a Else s'executen només si cap de les condicions provades anteriorment va ser True. Una vegada avaluades totes les condicions i executades les expressions corresponents, el programa continua amb l'expressió que segueix a EndIf.

Podeu imbricar múltiples expressions If...Then.

Les expressions Else i ElseIf són opcionals.

Podeu utilitzar GoTo i GoSub per saltar fora d'un bloc If...Then, però no per saltar dins d'una estructura If...Then.

### Exemple:

L'exemple següent us permet introduir la data de venciment d'un producte, i determina si la data de venciment ha passat.

    Sub ExampleIfThenDate
        Dim sInput As String
        Dim dInput As Date

      On Error Goto inputError
        sInput = InputBox("Enter the expiration date (YYYY-MM-DD)")
        dInput = DateValue(sInput)

        If dInput < Date() Then
            MsgBox "La data de venciment ha passat"
        ElseIf dInput > Date() Then
            MsgBox "La data de venciment encara no ha passat"
        Else
            MsgBox "La data de venciment és avui"
        End If

    inputError:
        If dInput = 0 Then MsgBox "Invalid input"
    End Sub

Temes relacionats

Select Case statement

Iif o Switch funcions

Ens cal la vostra ajuda!