Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Operadores lógicos en VBA

| 3 comentarios

Los operadores lógicos permiten establecer condiciones entre expresiones, estas expresiones pueden ser verdaderas o falsas, y según estas el resultado del operador puede ser verdadero o falso. Los operadores lógicos que se pueden manejar en Excel con VBA son los siguientes:

  • Conjunción (And)

El resultado de este operador es verdadero si todas las expresiones son verdaderas, caso contrario el resultado es falso.

Este operador se puede implementar en VBA dentro de una macro o UDF escribiendo:

OperadorAnd = arg1 And arg2

  • Disyunción (Or)

El resultado de este operador es verdadero si al menos una de las expresiones es verdadera. Si todas son falsas el resultado será falso.

Este operador se puede implementar en VBA dentro de una macro o UDF escribiendo:

OperadorOr = arg1 Or arg2

  • Disyunción exclusiva (Xor)

El resultado de este operador es verdadero sólo si una de las expresiones es verdadera. También puede entenderse que resulta verdadero si las expresiones son diferentes.

Este operador se puede implementar en VBA dentro de una macro o UDF escribiendo:

OperadorXor = arg1 Xor arg2

  • Negación (Not)

El resultado es la inversión de la expresión. Si la expresión es verdadera, la negación será falsa, y viceversa.

Este operador se puede implementar en VBA dentro de una macro o UDF escribiendo:

OperadorNot = Not arg1

Ejemplos:

Funciones UDF de los operadores lógicos:

-Conjunción: Un alumno está aprobado si su trabajo y su examen están aprobados, caso contrario esta desaprobado

Function Aprobado(nota1, nota2)
Aprobado = (nota1 >= 10.5) And (nota2 >= 10.5)
End Function

-Disyunción: Al menos una fuente de energía (batería o tomacorriente) debe estar activa para que funcione el celular

Function EnergiaCelular(fuente1, fuente2)
EnergiaCelular = fuente1 Or fuente2
End Function

-Disyunción exclusiva: En un banco debe estar activo el suministro de electricidad principal o el generador de emergencia, no ambos a la vez.

Function ElectricidadBanco(fuente1, fuente2)
ElectricidadBanco = fuente1 Xor fuente2
End Function

-Negación: Cuando una computadora funciona no debe llamarse a un técnico, y viceversa.

Function LlamarTecnico(funciona)
LlamarTecnico = Not funciona
End Function

Se adjunta el libro de Excel con los ejemplos, que también incluye una macro que muestra los posibles resultados de cada operador según el valor de las expresiones.

Operadores lógicos en VBA

Elaborado por:  Kenjiro Tataje

3 comentarios

  1. Me parece muy útil esta función, me ahorra tiempo de crear condicionales en Excel. Genial!

  2. Si quiero verificar más de dos condiciones, ¿Cómo puedo utilizar los operadores lógicos AND y/o OR?

    • puedes poner los que quieras usando and .. y ya

Deja una respuesta

Los campos requeridos estan marcados con *.