Los operadores lógicos más comunes en VBA son: And y Or. Cada uno de estos operadores es de mucha utilidad para evaluar condiciones y tomar decisiones adecuadas sobre el código que será ejecutado.
El operador lógico And
El operador lógico And es el operador que nos ayuda a forzar el cumplimiento de dos condiciones. Este operador lo traducimos como “Y” de manera que para ejecutar un bloque de código se debe cumplir la condición1 Y la condición2.
En el siguiente ejemplo tengo la calificación de dos exámenes. Solamente si ambos exámenes tienen una calificación mayor a 70, entonces el estudiante será aprobado, de lo contrario la calificación será reprobatoria.
El código que se ejecutará al pulsar el botón será el siguiente:
Al ejecutar este código obtendremos el resultado “Aprobado” ya que ambos exámenes tienen una calificación mayor a 70:
De esta manera comprobamos que el operador lógico And nos ayuda a forzar que ambas condiciones se cumplan. En cambio, si el valor de una de las celdas es menor a 70, entonces tendremos un resultado diferente:
El operador lógico And devolverá el valor verdadero solamente cuando ambas condiciones se cumplan y será suficiente con que una de ellas no se cumpla para obtener un resultado negativo.
El operador lógico Or
El operador lógico Or lo traducimos como “O” y nos permitirá saber si al menos una de las condiciones se cumple, es decir, si la condición1 O la condición2 se cumplen.
Si cambiamos un poco el ejemplo anterior y decimos que es suficiente que alguna de las dos calificaciones sea mayor a 70 para que el estudiante sea aprobado, entonces podemos modificar el código de la siguiente manera:
Si alguna de las calificaciones es mayor a 70, entonces el estudiante será aprobado:
La única manera en que el operador lógico Or nos devuelva un valor falso es que ninguna de las condiciones se cumpla. En nuestro ejemplo, el alumno estará reprobado solamente cuando ambas calificaciones sean menores a 70:
Podemos concluir que al evaluar dos condiciones, los operadores And y Or se comportarán de la siguiente manera:
Artículos relacionados
La declaración If-Then en VBA