Return to VBA Code Examples

VBA – No Igual a, Mayor Que o Igual a y Otros Operadores de Comparación

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:

No igual a

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:

Igual a

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:

Mayor o igual que

 

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

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples