Función VBA OR

O es una función lógica en cualquiera de los lenguajes de programación y similar en VBA tenemos la función OR, ya que es una función lógica, el resultado dado por esta función es verdadero o falso, esta función se usa para dos o muchas condiciones juntas y da us verdadero resultado cuando cualquiera de las condiciones se devuelve verdadera.

¿Qué es la función OR en VBA?

En Excel, las funciones lógicas son el corazón de las fórmulas que usamos a diario. Las funciones lógicas están ahí para realizar la prueba lógica y dan un resultado en el tipo de datos booleano, es decir, VERDADERO o FALSO. Algunas de las fórmulas lógicas en Excel son "SI, SI.ERROR en excel, ESERROR en excel, Y y O en función de excel". Espero que los haya utilizado con bastante frecuencia como función de hoja de trabajo. En VBA también podemos usarlos todos y en este artículo, le explicaremos las formas de usar la función “VBA OR”.

¿Qué es lo primero que le viene a la mente cuando piensa en la palabra “O”?

En términos simples, "O" significa "esto o aquello"

Con la misma idea, OR es una función lógica que da el resultado como VERDADERO si alguna de las pruebas lógicas es VERDADERO y da FALSO como resultado si ninguna de las pruebas lógicas es VERDADERO.

Esto funciona exactamente lo contrario de la función VBA AND. La función Y devuelve VERDADERO solo si todas las condiciones lógicas son VERDADERAS, si alguna de las condiciones no se cumple, obtendremos FALSO como resultado.

Fórmula de la función VBA OR

Déjame enmarcar una sintaxis para que entiendas la función.

[Prueba lógica] O [Prueba lógica] O [Prueba lógica]

Primero, debemos mencionar cuál es la prueba lógica, luego mencionar la palabra O y luego mencionar cuál es la segunda prueba lógica. Si desea realizar una prueba más lógica, mencione la palabra O después de evertir la prueba lógica.

Fuera de todas las pruebas lógicas que realiza, si alguna de las pruebas está satisfecha o es verdadera, obtendremos el resultado como VERDADERO si no hay ninguno o satisfecho, el resultado es FALSO.

Ejemplos de uso de la función OR en VBA

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

Puede descargar esta plantilla de VBA o Excel aquí: plantilla de VBA o Excel

Para comprender la función lógica de VBA O permítame darle un ejemplo. Digamos que queremos realizar la prueba lógica de si el número 25 es mayor que 20 o el número 50 es menor que 30.

Paso 1: crea un nombre de macro.

Paso 2: Defina la variable como una cadena.

Código:

 Sub OR_Example1 () Dim i As String End Sub 

Paso 3: Ahora para esta variable, asignaremos el valor a través de la prueba lógica OR.

Código:

 Sub OR_Example1 () Dim i As String i = End Sub 

Paso 4: Nuestra primera prueba lógica es 25> 20 .

Código:

 Sub OR_Example1 () Dim i As String i = 25> 20 End Sub 

Paso 5: Ahora, después de la primera prueba lógica, mencione la palabra O e ingrese la segunda prueba lógica.

Código:

 Sub OR_Example1 () Dim i As String i = 25> 20 O 50 <30 End Sub 

Paso 6: Ok, ahora la función VBA OR prueba si las pruebas lógicas son VERDADERAS o FALSAS. Ahora asigne el resultado de la variable al cuadro de mensaje de VBA .

Código:

 Sub OR_Example1 () Dim i As String i = 25> 20 O 50 <30 MsgBox i End Sub 

Paso 7: Ejecute la macro y cuál es el resultado.

Obtuvimos el resultado como VERDADERO porque de dos pruebas lógicas proporcionamos una prueba es VERDADERA, por lo que el resultado es VERDADERO.

25 es mayor que 20 y 50 no es menor que 30, en este caso, la primera prueba lógica es VERDADERA pero la segunda es FALSA. Debido a que hemos aplicado la función VBA OR, necesita que cualquiera de las condiciones sea VERDADERA para obtener el resultado como VERDADERO.

Ahora, mire el siguiente código.

Código:

 Sub OR_Example1 () Dim i As String i = 25 = 20 O 50 = 30 MsgBox i End Sub 

He cambiado las ecuaciones de prueba lógica de> y <al signo igual (=). Esto devolverá FALSE como resultado porque 25 no es igual a 20 y 50 no es igual a 30.

VBA OR función con condición IF es potente

Como dije, OR puede devolver VERDADERO o FALSO como resultado, pero con la otra función lógica "SI", podemos manipular los resultados según nuestras necesidades.

Realice las mismas pruebas lógicas de arriba, OR ha devuelto solo VERDADERO o FALSO, pero combinemos este OR con SI.

Paso 1: Antes de realizar cualquier prueba, abra la función SI .

Código:

 Sub OR_Example2 () Dim i como cadena IF End Sub 

Paso 2: Ahora realice pruebas usando la función OR .

Código:

 Sub OR_Example2 () Dim i As String IF 25 = 20 O 50 = 30 End Sub 

Paso 3: Ponga la palabra "Entonces" y escriba el resultado si la condición es VERDADERA, asigne el valor a la variable como "La condición está satisfecha" .

Código:

 Sub OR_Example2 () Dim i As String Si 25 = 20 O 50 = 30 Entonces i = "La condición se cumple" End Sub 

Paso 4: Si la condición es FALSA, entonces necesitamos un resultado diferente, así que ponga la palabra “ELSE” y en la siguiente línea asigne el valor a la variable “cuál debería ser el resultado si la condición o prueba lógica es FALSE”.

Código:

 Sub OR_Example2 () Dim i As String Si 25 = 20 O 50 = 30 Entonces i = "La condición se satisface" Else i = "La condición no se satisface" End Sub 

Paso 5: Finalice la función SI con la palabra "Fin si" .

Código:

 Sub OR_Example2() Dim i As String If 25 = 20 Or 50 = 30 Then i = "Condition is Satisfied" Else i = "Condition is not Satisfied" End If End Sub 

Step 6: Assign the value of the variable result to the message box.

Code:

 Sub OR_Example2() Dim i As String If 25 = 20 Or 50 = 30 Then i = "Condition is Satisfied" Else i = "Condition is not Satisfied" End If MsgBox i End Sub 

Run the macro, if the logical test is TRUE we will get the result as “Condition is Satisfied” or else we will get “Condition is not Satisfied”.

We got the result as “Condition is not Satisfied” because both the logical tests are FALSE.

Now I will change the logical tests.

Code:

 Sub OR_Example2() Dim i As String If 25 > 20 Or 50 < 30 Then i = "Condition is Satisfied" Else i = "Condition is not Satisfied" End If MsgBox i End Sub 

I will run the macro and see what the result is.

Like this, we can use one logical function with other logical functions to arrive at the results.

Solve the below case study to get used to logical functions.

Case Study to Solve

I have employee names and their respective departments.

If you have tried and not found the result then you can refer below code to understand the logic.

Code:

 Sub Bonus_Calculation() Dim i As Long For i = 2 To 10 If Cells(i, 2).Value = "Finance" Or Cells(i, 2).Value = "IT" Then Cells(i, 3).Value = 5000 Else Cells(i, 3).Value = 1000 End If Next i End Sub 

If the employee is from “Finance” or “IT” then they should get the bonus as “5000”. For other department employees, the bonus is “1000”.

Conduct the logical test and arrive at the results.