VBA SI O

SI OR no son una sola declaración, estas son dos funciones lógicas que se usan juntas algunas veces en VBA, usamos estas dos funciones lógicas juntas cuando tenemos más de un criterio para verificar y si se cumple alguno de los criterios, obtenemos el resultado verdadero, cuando usamos el enunciado if O enunciado se usa entre los dos criterios del enunciado If.

SI O Función en VBA

Las funciones lógicas son el corazón de cualquier cálculo basado en criterios. "SI" es la función lógica más popular, ya sea como función de hoja de trabajo o como función VBA, sirve excelentemente para nuestras necesidades. Pero una función lógica más "O" en Excel es la función más subestimada. También es importante dominar cuando se trata de resolver cálculos complejos. En este artículo, lo guiaremos a través de la función VBA IF OR en detalle. Lea el artículo completo para obtener la función en detalle.

¿Cómo usar IF con la función OR en VBA?

Le mostraremos un ejemplo simple del uso de la función IF OR en VBA.

Puede descargar esta plantilla de VBA IF O Excel aquí - VBA IF OR Excel Template

La combinación de funciones lógicas es la mejor pareja en Excel. Cuando combina muchas fórmulas lógicas dentro de la otra fórmula lógica, sugiere que el cálculo requiere muchas condiciones para probar.

Ahora, mire la sintaxis de la función SI O en VBA.

[Prueba] O [Prueba] O [Prueba]

Esto es lo mismo que vimos en el ejemplo de la hoja de trabajo. Para una mejor comprensión, mire el siguiente ejemplo.

Aquí tenemos el precio del mes anterior, el precio promedio de los últimos 6 meses y el precio mensual actual.

Para decidir si comprar el producto o no, tenemos que hacer algunas pruebas aquí y esas pruebas son.

Si el precio actual es menor o igual a cualquiera de los otros dos precios, deberíamos obtener el resultado como "Comprar" o, de lo contrario, deberíamos obtener el resultado como "No comprar" .

Paso 1: Abrir condición IF dentro del subprocedimiento.

Código:

 Sub IF_OR_Example1 () Si End Sub 

Paso 2: Dentro de la condición IF, aplique la primera prueba lógica como Rango ("D2"). Valor <= Rango ("B2"). Valor

Código:

 Sub IF_OR_Example1 () Si Rango ("D2"). Valor <= Rango ("B2"). Valor Fin Sub 

Paso 3: Se realiza la primera condición lógica, ahora abra la instrucción OR.

Código:

 Sub IF_OR_Example1 () Si Rango ("D2"). Valor <= Rango ("B2"). Valor O Fin Sub 

Paso 4: Ahora aplique la segunda condición lógica como Rango ("D2"). Valor <= Rango ("C2"). Valor

Código:

 Sub IF_OR_Example1 () Si Rango ("D2"). Valor <= Rango ("B2"). Valor O Rango ("D2"). Valor <= Rango ("C2"). Valor Fin Sub 

Paso 5: Ok, hemos terminado con las pruebas lógicas aquí. Después de las pruebas lógicas, ponga la palabra "Entonces".

Código:

 Sub IF_OR_Example1 () Si Rango ("D2"). Valor <= Rango ("B2"). Valor o rango ("D2"). Valor <= Rango ("C2"). Valor Luego Fin Sub 

Paso 6: En la siguiente línea, escriba cuál debería ser el resultado si la prueba lógica es VERDADERA. Si la condición es VERDADERA, necesitamos el resultado como "Comprar" en la celda E2.

Código:

 Sub IF_OR_Example1 () Si Rango ("D2"). Valor <= Rango ("B2"). Valor o rango ("D2"). Valor <= Rango ("C2"). Valor Luego rango ("E2"). Value = "Comprar" End Sub 

Paso 7: Si el resultado es FALSO, deberíamos obtener el resultado como "No comprar". Así que en la siguiente línea ponga "Else" y escriba el código en la siguiente línea.

Código:

 Sub IF_OR_Example1 () Si Rango ("D2"). Valor <= Rango ("B2"). Valor o rango ("D2"). Valor <= Rango ("C2"). Valor Luego rango ("E2"). Valor = "Comprar" Else Range ("E2"). Valor = "No comprar" End Sub 

Paso 8: Cierre la instrucción IF con la palabra "End If".

Código:

 Sub IF_OR_Example1 () Si Rango ("D2"). Valor <= Rango ("B2"). Valor o rango ("D2"). Valor <= Rango ("C2"). Valor Luego rango ("E2"). Valor = "Comprar" Else Range ("E2"). Valor = "No comprar" End If End Sub 

Ok, hemos terminado con la parte de codificación.

Ejecutemos este código usando F5 o manualmente a través de la opción de ejecución y veamos cuál es el resultado en la celda E2.

Obtuvimos el resultado como "Comprar" porque el precio mensual actual de Apple es menor que el precio tanto del "Mes anterior" como del "Precio promedio de 6 meses".

Función IF O VBA con bucles (avanzado)

Una vez que comprenda la fórmula, intente usarla con una mayor cantidad de celdas. En el caso de una mayor cantidad de celdas, no podemos escribir ninguna línea de código, por lo que necesitamos usar bucles VBA.

Para el conjunto de datos anterior, agregué algunas líneas más.

Necesitamos usar el ciclo For Next aquí.

Simplemente mantenga el código actual tal como está.

Declare la variable como un número entero.

Ahora abra For Next Loop de 2 a 9.

Ahora, donde sea que tengamos la referencia de celda cambia el número actual y concatenamos la variable "k" con ellos.

Por ejemplo, Rango ("D2"). El valor debe ser Rango ("D" & k) .Valor

Ahora ejecute el código, deberíamos obtener el estado en todas las celdas.

Puede copiar el código a continuación.

Código:

 Sub IF_OR_Example1() Dim k As Integer For k = 2 To 9 If Range("D" & k).Value <= Range("B" & k).Value Or Range("D" & k).Value <= Range("C" & k).Value Then Range("E" & k).Value = "Buy" Else Range("E" & k).Value = "Do Not Buy" End If Next k End Sub