Operadores lógicos en VBA

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.

Operadores lógicos en VBA

El código que se ejecutará al pulsar el botón será el siguiente:

El operador lógico AND en VBA

Al ejecutar este código obtendremos el resultado “Aprobado” ya que ambos exámenes tienen una calificación mayor a 70:

Ejemplo del operador lógico AND

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:

Evaluación de condiciones con el operador lógico AND

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:

El operador lógico OR

Si alguna de las calificaciones es mayor a 70, entonces el estudiante será aprobado:

Ejemplo del operador lógico OR

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:

El operador lógico OR en VBA

Podemos concluir que al evaluar dos condiciones, los operadores And y Or se comportarán de la siguiente manera:

Operadores lógicos AND y OR en VBA

Artículos relacionados
La declaración If-Then en VBA

7 pensamientos en “Operadores lógicos en VBA

  1. Ricardo

    Muy buen tutorial, explicado de manera que todos puedan entender, aunque yo tengo una duda, he intentado modificar el nombre del boton pero no puedo lograr cambiarlo, podrias decirme la manera de hacerlo?
    De antemano muchas gracias!

    1. Moisés Ortíz Autor

      Hola Ricardo, asegúrate de estar en Modo Diseño, haz clic derecho sobre el botón y selecciona Propiedades. Se mostrará un cuadro de diálogo y deberás cambiar la propiedad Caption.

      1. Ricardo

        Muchas gracias!, era justo lo que necesitaba.

  2. Tito

    ¿Por qué aquí van entre paréntesis los Range?

    1. Moisés Ortíz Autor

      Hola Tito, en este ejemplo no son necesarios los paréntesis.
      Creo que los coloqué por una costumbre que tengo al programar y utilizar el operador And/Or.

  3. Ana Vielma

    Hola, agradecería que me a resolver mi duda, ¿Cómo puedo utilizar el operador AND para verificar mas de dos condiciones?