¿Cómo usar If Else Statement en VBA? (con ejemplos)

Declaración de Excel VBA IF Else

No hay una declaración IF Else en la hoja de trabajo y solo se puede usar en el código VBA, mientras trabajamos en VBA podemos proporcionar una condición que es la declaración de condición If y si se cumple un cierto conjunto de instrucciones, entonces se ejecuta y si la condición falla la instrucción entonces se ejecuta la instrucción else.

VBA no es diferente cuando se trata de pruebas lógicas. Funciona de la misma forma que en las hojas de trabajo normales. De todas las funciones lógicas, la función "SI" se utiliza principalmente desde el lote. Usando IF, podemos realizar una prueba lógica y llegar a las decisiones si se satisface la prueba lógica y también llegar a decisiones alternativas si no se satisface la prueba lógica.

A continuación se muestra la sintaxis de la condición IF Else.

SI Entonces si la prueba lógica es VERDADERA De lo contrario, si la prueba lógica es FALSA Fin SI

¿Qué es VBA IF Then Else Statement?

Una vez que la prueba lógica proporcionada es FALSA, necesitamos alguna tarea alternativa para ejecutar como parte del código. Entonces, "SI ELSE" significa que si la prueba lógica es FALSA, qué más se debe hacer.

Para comprender mejor el siguiente ejemplo, hemos proporcionado el resultado como "10 es mayor" solo si la prueba lógica es VERDADERA. Aún así, en el resultado lógico FALSO, podemos proporcionar el resultado alternativo como "10 es menor".

Entonces, una vez que se hayan proporcionado las pruebas lógicas y el código de parte VERDADERO esté escrito en la siguiente línea, ingrese la palabra "ELSE".

ELSE significa que si la prueba lógica no es VERDADERA, necesitamos el resultado como "10 es menor".

Código:

Sub IF_Else_Example1 () Si 10> 11 Entonces MsgBox "10 es mayor" Else MsgBox "10 es menor" End If End Sub

Ahora nuestro código da al menos uno de los resultados anteriores. Ejecute el código y vea el resultado.

Dado que hemos proporcionado el resultado alternativo si la prueba lógica es FALSA, ha mostrado el resultado alternativo como "10 es menor" porque 10 es menor que el otro número 11.

Ejemplo

Por ejemplo, mire los datos a continuación.

Con estos datos, necesitamos llegar al estado basado en el "Costo" de cada producto. Para llegar el estado a continuación son los criterios.

Si el precio de coste es> 50, el estado debería ser " Caro " o, de lo contrario, el estado debería ser " No caro ".

Aquí tenemos que probar el precio de costo, es decir, una prueba lógica si el precio de costo es> 50 o no. Si la prueba lógica es VERDADERA, es decir, el precio de costo es mayor que 50, necesitamos el estado como "Caro", y si la prueba lógica es FALSA, es decir, el precio de costo es menor que 50, necesitamos el resultado alternativo como "No es caro."

Ok, escribamos el código ahora. Antes de eso, copie y pegue la tabla anterior en una hoja de cálculo de Excel.

Paso 1: Inicie el subprocedimiento.

Sub IF_ELSE_Example2 () End Sub

Paso 2: Declare la variable como un tipo de datos Integer.

Dim k como entero

Paso 3: Dado que necesitamos probar más de un valor de celda, debemos emplear FOR VBA LOOP para recorrer las celdas y aplicar la lógica para todas las celdas.

Necesitamos aplicar pruebas lógicas de segunda fila a 8 ª fila, así que empieza DE BUCLE de 2 a 8.

Código:

Para k = 2 a 8 Siguiente k

Paso 4: Dentro de este ciclo, necesitamos ejecutar la prueba lógica. Así que abra la instrucción IF y seleccione la primera celda usando la propiedad CELLS.

Código:

Si Cells (k, 2) .Value> 50 Then

Aquí Cells (k, 2) significa fila (valor de k) y columna 2.

Paso 5: Si el valor de esta celda es> 50, necesitamos el resultado como "Caro" en la siguiente celda de la columna. Entonces el código será -

Código:

Celdas (k, 3) .Value = "Caro"

Paso 6: Si la prueba no es VERDADERA, necesitamos los resultados de la declaración ELSE, es decir, "No es caro".

Código:

Sub IF_ELSE_Example2 () Dim k As Integer For k = 2 To 8 If Cells (k, 2) .Value> 50 Then Cells (k, 3) .Value = "Expensive" Else Cells (k, 3) .Value = "No Caro "End If Next k End Sub

Este código recorrerá desde la hasta la 8ª fila para probar los números y llegar al resultado basado en el precio de costo.

De esta manera, podemos usar If-Else para obtener resultados alternativos.

Cosas para recordar

  • El otro enunciado es para una prueba lógica FALSA.
  • Si desea aplicar más de dos pruebas lógicas en Excel, debemos usar la instrucción ELSE IF.
  • En el caso de la ejecución de tareas para más de una celda, necesitamos usar bucles.
  • La instrucción If Else puede probar solo una prueba lógica.

Articulos interesantes...