Sei sulla pagina 1di 3

If-Then-Else

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

IF  condición THEN  instrucciones ELSE otras instrucciones


Donde:
 IF: Es la instrucción.
 Condición: la expresión a evaluar
 Instrucciones: de modo opcional puedes ejecutar acciones si la condición se cumple
 ELSE: Se usa para definir que, si ninguna condición se cumple, haga lo siguiente.
 Otras instrucciones. Si ninguna condición se cumple, ejecuta estas instrucciones por default.
Condicional If de una sola condición
La instrucción anterior también se puede representar en bloques:
If condición Then
[instrucciones]
Else
[Sino… instrucciones]
End if
Donde:
 IF: Es la instrucción.
 Condición: Es la expresión que será evaluada.
 Then: Entonces.
 Instrucciones: de modo opcional puedes ejecutar acciones si la condición se cumple
 ELSE: Se usa para definir que, si ninguna condición se cumple, haga lo siguiente.
 Otras instrucciones. Si ninguna condición se cumple, ejecuta estas instrucciones por default.

Condicional If de varias condiciones


Si tienes varias condicione a evaluar, usa la siguiente estructura:
If condición Then
[instrucciones]
Elseif otra_condición Then
[en caso de… instrucciones]
Elseif otra_condición Then
[en caso de… instrucciones]
Elseif otra_condición Then
[en caso de… instrucciones]
Elseif otra_condición Then
[en caso de… instrucciones]
Else
[Sino… instrucciones]
End If
Donde:
 IF: Es la instrucción.
 Condición: Es la expresión a evaluar
 Then: Entonces.
 Instrucciones: de modo opcional puedes ejecutar acciones si la condición se cumple
 Elseif: Evalua otra condición.
 ELSE: Se usa para definir que, si ninguna condición se cumple, haga lo siguiente.
 END IF: Cierra el bloque de instrucciones IF.
 ELSE: Se usa para definir que, si ninguna condición se cumple, haga lo siguiente.
En este ejemplo evalúa dos condiciones para asignar el descuento en base a una cantidad. Si ninguna
condición se cumple, entonces asigna cero a la variable Descuento.

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”

ElseIf nivel = “Bachiller”


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

Potrebbero piacerti anche