Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
If------------------- Then
ElseIf------------------------- The
Else--------------------------- Then
End If
OPERADORES: =; <; >; <>; =<; => And = Y; Or = O
IF
Verdadera - THEN Falsa - ELSE
Condición
Acción A Acción B
Sub Comisiones()
Dim Cantidad As Byte
Dim Descuento As Double
Cantidad = Range("A17").Value
If Cantidad < 10 Then
Descuento = 0
ElseIf Cantidad < 20 Then
Descuento = 0.1
Else
Descuento = 0.2
End If
Range("C17").Value = Descuento
End Sub
TIPO 2
Para instrucciones en las que tenemos un árbol de decisión en las que queremos ejecutar algo si es
verdadero y otra cosa si es falso tendremos la siguiente sintaxis.
If comprobación_lógica Then
Código que se ejecuta cuando la instrucción es verdadera
Else
Código que se ejecuta cuando la instrucción es falsa
End if
En el siguiente ejemplo vemos que si se cumple la condición la primera celda A1 se coloreará de amarillo
y sino de rojo.
TIPO 3
Si queremos añadir otra condición de comprobación entre medias de nuestro condicional cuando la
primera instrucción resulta ser falsa la sintaxis que usaremos es la siguiente:
If comprobación_lógica Then
Código que se ejecuta cuando la comprobación es verdadera
ElseIf comprobación_lógica2 Then
Código que se ejecuta cuando la comprobación 2 es verdadera
End if
En el siguiente ejemplo vemos como, si se cumple la primera comprobación, la celda A1 se pondrá en
verde o si se cumple la segunda comprobación, la celda A1 se pondrá en rojo.
Ejemplos de If en VBA
La instrucción If Then else en VBA es necesaria para tomar decisiones dentro del código en VBA
La sintaxis es como sigue:
If condición Then
[Instrucciones a ejecutar]
[ ElseIf condición2 Then ]
[Instrucciones a ejecutar]]
[ Else
[Instrucciones a ejecutar]]
End If
O también
If condition Then [Instrucciones a ejecutar] [ Else [ Instrucciones a ejecutar] ]
En esta estructura "condición" representa el caso que debe cumplirse para que se ejecute la primera
parte de la condición, elseif es una parte opcional que se ejecutaría solo si la parte anterior no se cumple
y se requiere añadir alguna otra condición, mientras que "else" hace que todos los casos en los que no
se haya cumplido ninguno de los casos previos se pueda ejecutar las instrucciones siguientes, así
tendríamos por ejemplo:
Sub EjemploIfThenElse()
a = 12
If a = 8 Then
MsgBox "1"
ElseIf a = 12 Then
MsgBox "2"
Else
MsgBox "3"
End If
End Sub
Si "a" vale 8 entonces se ejecutaría el primer mensaje, si "a" en cambio valiese 12 se ejecutaría el
segundo mensaje, en todos los demás valores posibles de "a" se ejecutaría el tercer mensaje.
OTRO EJEMPLO:
Sub macro1()
If nivel = “Licenciado” Then
Estatus = “No es candidato”
Else
Estatus = “Es candidato”
End If
Sheets(“Hoja2”).Range(“A19”)=estatus
End Sub
SELECT CASE
Select Case [expresión]
Case [valor expresión 1]
Instrucción 1
Instrucción 2
Case [valor expresión 2]
Instrucción 3
Instrucción 4
End Select