Excel VBA más si
VBA Else If le permite analizar una condición y realizar una acción en consecuencia. La condición IF verifica si la condición suministrada es VERDADERA o FALSA, si la condición es VERDADERA, devolverá el valor asignado de Valor si es Verdadero y devolverá el Valor SI Falso si el resultado es FALSO.
La lógica de la condición IF en la fórmula regular de Excel y la fórmula VBA es la misma. En este artículo, cubriré la condición completa de VBA IF.
Sintaxis de la declaración VBA If
Primero, vea la sintaxis de la instrucción IF en VBA.
Esto es muy similar a nuestra función de hoja de cálculo IF. La única diferencia aquí es que necesitamos poner la palabra ENTONCES para avanzar en la función, también Otra parte de la condición IF es opcional a diferencia de nuestra condición IF normal y debemos mencionar el final de la función como End If .
En realidad, habrá un argumento más si las condiciones para probar son más de una condición y esa parte se llama como instrucción ELSE IF. Esto es como nuestra condición IF anidada en nuestros cálculos de la hoja de trabajo. ELSE IF entrará en valor de imagen si la condición es FALSE, entonces necesitamos probar más condiciones con la condición ELSE IF.
En este artículo, veremos más de la condición ELSE IF en el mundo práctico.
¿Cómo usar VBA si no es una declaración?
Comprendamos cómo usar VBA Else If Statement con algunos ejemplos.
Puede descargar esta plantilla de VBA Else If Excel aquí - Plantilla de VBA Else If ExcelDeclaración simple de If - Ejemplo # 1
Ahora la explicación teórica es suficiente, incluso si no entendiste nada, nada de qué preocuparte. En el ejemplo práctico, captará la lógica.
Suponga que tiene un valor en la celda A2 y desea verificar si el número es mayor que 100 o no. Si el valor es mayor que 100, entonces necesitamos el valor en la celda B2 como "Más de 100". El siguiente código realizará la tarea requerida.
Código:
Sub IF_Example1 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" End If End Sub
Luego ejecute este código usando la tecla F5 o manualmente como se muestra en la captura de pantalla. Entonces podemos ver el resultado en la celda B2.
Si cambia el valor en la celda A2 a 99 y ejecuta el código. El código no devolverá nada porque el valor es inferior a 100 y no hemos proporcionado ningún resultado si la prueba es FALSA, esto lo veremos en el siguiente ejemplo.
Si con otra declaración - Ejemplo # 2
Hemos visto cómo funciona un solo IF con condición TRUE. Ahora veremos cómo trabajar si la condición suministrada es FALSA.
En el código actual después de que el valor Verdadero se suministre en la siguiente línea, escriba la palabra Else.
Código:
Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Else End If End Sub
Y en la siguiente línea escriba el código para el valor Falso.
Código:
Sub IF_Example2 () If Range ("A2"). Value> 100 Then Range ("B2"). Value = "More than 100" Else Range ("B2"). Value = "Less than 100" End If End Sub
Luego ejecute este código usando la tecla F5 o manualmente como se muestra en la captura de pantalla. Si el valor es superior a 100, el resultado sería "Más de 100" en la celda B2.
Si el valor es inferior a 100, el resultado sería "Menos de 100".
Declaración anidada de If con otra si - Ejemplo # 3
Cuando queremos probar más de una condición, necesitamos usar más declaraciones IF dentro de la condición IF. Pero en VBA necesitamos usar la palabra ELSE IF para probar más de una condición.
Por ejemplo, en la celda A2 si el valor es superior a 200, necesitamos el resultado como "Más de 200" en la celda B1.
Si el valor es más de 100, necesitamos el resultado como "Más de 100" en la celda B2.
Si el valor es inferior a 100, necesitamos el resultado como "Menos de 100" en la celda B2.
Paso 1: Después de pasar el valor VERDADERO, ingrese la palabra ELSE SI en la línea siguiente.
Código:
Sub IF_Example3 () If Range ("A2"). Value> 200 Then Range ("B2"). Value = "More than 200" ElseIf Range ("A2"). Value> 100 Then Range ("B2"). Value = "Más de 100" End If End Sub
Paso 2: como ya hemos probado dos argumentos, solo nos queda una condición. Ahora, en la línea siguiente, proporcione el resultado final de la prueba con la declaración ELSE.
Código:
Sub IF_Example3 () If Range ("A2"). Value> 200 Then Range ("B2"). Value = "More than 200" ElseIf Range ("A2"). Value> 100 Then Range ("B2"). Value = "Más de 100" Else Range ("B2"). Valor = "Menos de 100" End If End Sub
Paso 3: Luego ejecuta este código usando la tecla F5 o manualmente como se muestra en la captura de pantalla para ver los resultados.
Resultado 1:
Resultado 2:
Resultado 3:
Anidado si con bucle - Ejemplo # 4
Este es el ejemplo avanzado de IF anidado con bucle. Suponga que tiene una tabla de ventas con datos de 12 meses.
En la columna de estado, necesitamos el resultado de la siguiente manera.
- Si el valor de venta es superior a 7000, el resultado debería ser "Excelente"
- Si el valor de venta es superior a 6500, el resultado debería ser "Muy bueno"
- Si el valor de venta es superior a 6000, el resultado debería ser "Bueno"
- Si el valor de venta supera los 4000, el resultado debería ser "No está mal"
- Si todos los resultados son FALSOS, entonces el resultado debería ser "Malo"
Para realizar esta prueba, necesitamos el siguiente código, que es una combinación de IF con ELSE IF y LOOP.
Código:
Sub IF_Example4 () Dim i As Integer i = 2 For i = 2 To 13 If Cells (i, 2) .Value> = 7000 Then Cells (i, 3) .Value = "Excellent" ElseIf Cells (i, 2). Valor> = 6500 Entonces Celdas (i, 3). Valor = "Muy bueno" ElseIf Celdas (i, 2). Valor> = 6000 Entonces Celdas (i, 3) .Valor = "Bueno" ElseIf Celdas (i, 2) .Valor> = 4000 Entonces Celdas (i, 3) .Valor = "No está mal" Else Celdas (i, 3) .Valor = "Malo" Fin Si Siguiente i Fin Sub
Luego ejecute este código usando la tecla F5 o manualmente como se muestra en la captura de pantalla para ver los resultados.
Cosas para recordar
- La instrucción ELSE IF requiere el código de resultado en la misma línea, no en la línea siguiente, y también requiere la instrucción THEN para ir a la siguiente declaración.
- Si la declaración END IF no está incluida, obtendremos el siguiente error.
- El operador no es más que igual a una declaración IF.
- Al igual que la función de hoja de trabajo, también podemos usar la declaración AND & OR dentro de la declaración IF.
Artículos recomendados
Esta ha sido una guía para la declaración VBA Else If. Aquí discutimos VBA Else If y cómo usar Excel VBA Else If junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:
- ¿Cómo usar VBA Select Case?
- ¿Cómo usar la función de búsqueda de VBA?
- Guía de la función VBA TRIM
- Guía y ejemplos de bucles VBA