Instrucción If…Then…Else

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

Sintaxis:

If...EndIf statement


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

En vez de End If, puede escribir EndIf.

Icono de consejo

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



  If condition Then statement [Else statement]

Parámetros:

La instrucción If…Then ejecuta bloques de programa dependiendo de ciertas condiciones. Cuando LibreOffice BASIC encuentra una instrucción If, se somete a prueba la condición. Si la condición es True, se ejecutan todas las instrucciones posteriores hasta la siguiente instrucción Else o ElseIf. Si la condición es False y le sigue una instrucción ElseIf, LibreOffice BASIC somete a prueba la siguiente expresión y ejecuta las instrucciones siguientes si la condición es True. Si es False, el programa continúa con la siguiente instrucción ElseIf o Else. Las instrucciones que siguen a Else se ejecutan solo si ninguna de las condiciones probadas anteriormente fue True. Una vez evaluadas todas las condiciones y ejecutadas las instrucciones correspondientes, el programa continúa con la instrucción que sigue a EndIf.

Es posible anidar varias instrucciones If...Then.

Las instrucciones Else y ElseIf son opcionales.

Icono de aviso

Se puede usar GoTo y GoSub para salir de un bloque If...Then, pero no para saltar dentro de una estructura If...Then.


Ejemplo:

El ejemplo siguiente permite introducir una fecha de caducidad de un producto y determina si esta ya ha pasado.


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 fecha de caducidad ya ha pasado"
    ElseIf dInput > Date() Then
        MsgBox "La fecha de caducidad no ha pasado aún"
    Else
        MsgBox "La fecha de caducidad es hoy"
    End If
 
inputError:
    If dInput = 0 Then MsgBox "Invalid input"
End Sub

Select Case statement

Iif or Switch functions

¡Necesitamos su ayuda!

¡Necesitamos su ayuda!