Operadores de Comparación en VBA
Introducción teórica y ejemplos prácticos para evaluar condiciones en Excel Visual Basic.
1. ¿Qué son los Operadores de Comparación?
Los operadores de comparación nos permiten contrastar dos valores o variables. El resultado de realizar una comparación en VBA siempre es un valor lógico (booleano): únicamente puede ser verdadero (True) o falso (False).
Preguntas y Respuestas
Un programador escribe un programa y el programa hace preguntas. Una computadora ejecuta el programa y proporciona las respuestas. El programa debe ser capaz de reaccionar de acuerdo con las respuestas recibidas. Afortunadamente, las computadoras solo conocen dos tipos de respuestas:
- • Si, es cierto.
- • No, esto es falso.
| Operador | Significado | Ejemplo en VBA | Resultado |
|---|---|---|---|
= |
Igual a | 5 = 5 |
True |
<> |
Diferente de (Distinto) | 5 <> 3 |
True |
> |
Mayor que | 10 > 15 |
False |
< |
Menor que | 8 < 20 |
True |
>= |
Mayor o igual que | 15 >= 15 |
True |
<= |
Menor o igual que | 12 <= 10 |
False |
' Ejemplo básico en VBA
Dim Resultado As Boolean
Dim Nota As Integer
Nota = 14
Resultado = (Nota >= 11) ' Guardará True porque 14 es mayor o igual a 11
Range("B2").Value = Resultado
2. Reglas de Precedencia en VBA
Cuando una expresión combina varios operadores, VBA los evalúa en un orden estrictamente definido (de arriba a abajo según la tabla). Si hay varios operadores con el mismo nivel de prioridad en la misma línea, se evalúan de izquierda a derecha.
Nota clave: Los operadores de comparación siempre se evalúan después de todos los operadores aritméticos y todos tienen la misma prioridad entre sí.
| Nivel | Categoría | Operador / Símbolo | Descripción / Operación |
|---|---|---|---|
| 0 | Agrupación | ( ) |
Paréntesis (alteran el orden natural y se resuelven primero) |
| 1 | Aritmético | ^ |
Exponenciación (Potencia) |
| 2 | Aritmético | - |
Negación (Signo negativo unario, ej. -5) |
| 3 | Aritmético | * , / |
Multiplicación y División común |
| 4 | Aritmético | \ |
División entera (descarta los decimales) |
| 5 | Aritmético | Mod |
Módulo o Residuo de una división entera |
| 6 | Aritmético | + , - |
Suma y Resta binarias |
| 7 | Comparación | = , <> , < , > , <= , >= |
Operadores de comparación (Todos tienen el mismo nivel) |
2. Ejemplo Explicativo paso a paso
Analicemos cómo evalúa VBA la siguiente expresión combinada:
Dim Resultado As Boolean
Resultado = 10 + 2 * 3 ^ 2 > 20 Mod 7
Paso a paso de la resolución interna de VBA:
- Exponente (
^):3 ^ 2da9→10 + 2 * 9 > 20 Mod 7 - Multiplicación (
*):2 * 9da18→10 + 18 > 20 Mod 7 - Módulo (
Mod):20 Mod 7da6→10 + 18 > 6 - Suma (
+):10 + 18da28→28 > 6 - Comparación (
>): ¿Es 28 mayor que 6? →True
2. Ejercicios Prácticos de Aplicación
A continuación, se presentan dos casos prácticos para aplicar comparaciones numéricas directamente en celdas de Excel.
Problema: Un sistema requiere verificar si un usuario es mayor de edad. Compara si la edad ingresada en la celda B1 es mayor o igual a 18 años e imprime el resultado lógico (True o False) en la celda B2.
| A | B | |
|---|---|---|
| 1 | Edad del Usuario | 16 |
| 2 | ¿Es Mayor de Edad? (>= 18) | ? |
Problema: En un almacén se necesita emitir una alerta si el inventario actual de un producto ha caído por debajo del stock mínimo recomendado. Compara si el stock en B5 es menor que el stock mínimo en B6 y muestra el resultado booleano en B7.
| A | B | |
|---|---|---|
| 5 | Stock Actual | 8 |
| 6 | Stock Mínimo Requerido | 15 |
| 7 | ¿Requiere Reabastecer? (<) | ? |