VBA – No Igual a, Mayor Que o Igual a y Otros Operadores de Comparación
In this Article
VBA le permite utilizar operadores de comparación para comparar valores. Utilizando estos operadores, puede comparar valores y devolver un booleano Verdadero o Falso como resultado.
Principales Operadores de Comparación en VBA
Estos son los principales operadores de comparación utilizados en VBA:
Operador de comparación |
Explicación |
= |
Igual a |
<> |
No es igual a |
> |
Mayor que |
>= |
Mayor o igual que |
< |
Menor que |
<= |
Menor o igual que |
No igual a (<>)
El No Igual a es <>. Comprueba si dos valores no son iguales y devuelve VERDADERO o FALSO. Es una combinación de los operadores Menor que y Mayor que.
Este ejemplo comprobará si 5 no es igual a 3 y devolverá FALSO en un MessageBox:
MsgBox 5 <> 3
Valor de la celda no igual a
Hay varias maneras de comparar números. En el ejemplo anterior, hemos codificado 5 y 3 en nuestro código. Vamos a demostrar otras dos formas de comparar valores. Este ejemplo probará si dos valores de celda no son iguales entre sí:
MsgBox Range("A1").Value <> Range("B1").Value
Otra forma de comparar valores es con Variables.
Sub NoIgualA()
Dim intA As Integer
Dim intB As Integer
Dim blnResultado As Boolean
intA = 5
intB = 6
If intA <> intB Then
blnResultado = True
Else
blnResultado = False
End If
End Sub
En este ejemplo, queremos comprobar si la Variable Entera intA no es igual a intB. Si esto es cierto, el valor de la variable booleana blnResultado será VERDADERO, de lo contrario, será FALSO. Usamos el operador <> en la sentencia If para comprobar si los valores de intA e intB son diferentes:
If intA <> intB Then
blnResultado = True
Else
blnResultado = False
End If
El valor de intA es 5 y el valor de intB es 6, las variables no son iguales, por lo tanto el blnResultado devuelve True:
Igual a
El operador Igual a funciona exactamente igual. Comprueba si dos valores son iguales y devuelve Verdadero o Falso. Aquí está el código de ejemplo:
Sub IgualA()
Dim intA As Integer
Dim intB As Integer
Dim blnResultado As Boolean
intA = 5
intB = 5
If intA = intB Then
blnResultado = True
Else
blnResultado = False
End If
End Sub
En este ejemplo, queremos comprobar si intA es igual a intB. Si esto es cierto, el valor del booleano blnResultado será Verdadero, de lo contrario, será Falso.
Primero, establecemos los valores de intA e intB a 5:
intA = 5
intB = 5
Después, utilizamos el operador = en la sentencia If para comprobar si los valores de intA e intB son iguales:
If intA = intB Then
blnResultado = True
Else
blnResultado = False
End If
Ambas variables son iguales a 5, por lo que el blnResultado devuelve Verdadero:
Mayor que / Menor que
Los símbolos Mayor que (>) y Menor que (<) funcionan exactamente igual.
Mayor que
MsgBox 5 > 3
Menor que
MsgBox 5 < 3
Mayor o igual que / Menor o igual que
Para comprobar si un valor es Mayor o Igual que combina el operador Igual a (=) y los operadores Mayor que (>) / Menor que (<).
Mayor o igual que
MsgBox 5 >= 3
Menor o igual que
MsgBox 5 <= 3
Utilicemos Mayor o Igual que el mismo procedimiento que hemos estado utilizando:
Sub Mayor_o_IgualQue()
Dim intA As Integer
Dim intB As Integer
Dim blnResultado As Boolean
intA = 5
intB = 5
If intA >= intB Then
blnResultado = True
Else
blnResultado = False
End If
End Sub
En este ejemplo, queremos comprobar si intA es mayor o igual que intB. Si esto es cierto, el valor del booleano blnResultado será Verdadero, de lo contrario, será Falso.
Utilizamos el operador >= en la sentencia If para comprobar si el valor de intA es mayor o igual que intB:
If intA >= intB Then
blnResultado = True
Else
blnResultado = False
End If
En conclusión, como ambas variables son iguales a 5, el blnResultado devuelve Verdadero:
Operador Is
El operador Is comprueba si dos variables de objeto contienen el mismo objeto:
Sub Comparar_Objetos()
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Sheets("Hoja1")
Set ws2 = Sheets("Hoja2")
If ws1 Is ws2 Then
MsgBox "Mismo WS"
Else
MsgBox "Diferente WS"
End If
End Sub
Operador Like
El Operador Like se puede utilizar para encontrar coincidencias de texto inexactas. Este ejemplo comprobará si una cadena empieza por «Sr.»
Sub Demo_Operador_Like()
Dim strName As String
Dim blnResultado As Boolean
strName = "Sr. Michael James"
If strName Like "Sr*" Then
blnResultado = True
Else
blnResultado = False
End If
End Sub
Si quieres aprender a comparar cadenas, haz clic aquí: VBA Comparar Cadenas – StrComp
Si desea aprender más sobre cómo utilizar los operadores de comparación, haga clic aquí: Operadores Lógicos VBA