VBA – Operador Like

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on marzo 29, 2023

En VBA, puede comparar dos cadenas utilizando el operador Like para comprobar la coincidencia de las cadenas. En este tutorial, aprenderá a utilizar este operador con diferentes patrones.

Si desea aprender a comparar cadenas en VBA, haga clic aquí: VBA Comparar Cadenas – StrComp

Si desea aprender a utilizar operadores de comparación, haga clic aquí: Operadores de Comparación VBA – No Igual a & Más

Utilizando el Operador Like para Comparar Dos Cadenas

Con el operador Like, podemos verificar si una cadena comienza con un texto específico, lo incluye, etc. Por defecto, el operador Like compara caracteres utilizando el método Binario. Esto significa que el operador distingue entre mayúsculas y minúsculas. Si quieres que no distinga entre mayúsculas y minúsculas, tienes que poner Option Compare Text en la parte superior de tu módulo. Usando este método, el operador Like considera que «S» y «s» son los mismos caracteres. En nuestros ejemplos, utilizaremos la comparación por defecto, que distingue entre mayúsculas y minúsculas.

Si la coincidencia existe, el operador Like devuelve Verdadero como resultado, o Falso en caso contrario.

En primer lugar, veremos el ejemplo sencillo en el que queremos comprobar si nuestra variable de cadena empieza por Sr . Para ello, es necesario poner un asterisco (*) al final del texto coincidente(Sr*). Este es el código:

Sub Demo_Operador_Like()

    Dim strName As String
    Dim blnResult As Boolean
    
    strName = "Sr. Michael James"
    
    If strName Like "Sr*" Then
        blnResult = True
    Else
        blnResult = False
    End If

End Sub

En este ejemplo, queremos comprobar si la cadena strName empieza por Sr y devolver Verdadero o Falso en la variable blnResult.

En primer lugar, establecemos el valor de strName en Sr. Michael James:

strName = "Sr. Michael James"

Luego usamos el operador Like en la sentencia If:

If strName Like "Sr*" Then
    blnResult = True
Else
    blnResult = False
End If

Como strName empieza por Sr, blnResult devuelve True:

Uso Operador Like

Imagen 1. Uso del operador Like para comprobar si la cadena empieza por determinados caracteres

Uso del Operador Like con Diferentes Patrones de Coincidencia

El operador Me gusta puede comprobar la coincidencia de dos cadenas basándose en diferentes patrones. Esta es la lista de posibles patrones de coincidencia:

Código del patrón

Tipo de coincidencia

*

Coincide con 0 o más caracteres

?

Coincide con un solo carácter

#

Coincide con un solo dígito

[chars]

Coincide con un único carácter de una lista de caracteres

[A-Z]

Coincide con cualquier carácter en mayúscula del alfabeto

[A-Za-z]

Coincide con cualquier carácter del alfabeto

[caracteres]

Coincide con un único carácter excluyendo una lista de caracteres

Ahora podemos ver cómo utilizar estos patrones en el código. Aquí está el ejemplo para múltiples patrones:

Coincidencia de un solo carácter:

strText1 = "ABCDE"
  
If strText1 Like "AB?DE" Then
    blnResult1 = True
Else
    blnResult1 = False
End If

Coincidencia de un solo dígito:

strText2 = "AB7DE"
  
If strText2 Like "AB#DE" Then
    blnResult2 = True
Else
    blnResult2 = False
End If

Coincidencia con cualquier carácter en mayúscula del alfabeto:

strText3 = "ABCDE"

If strText3 Like "AB[A-Z]DE" Then
    blnResult3 = True
Else
    blnResult3 = False
End If

No coincide con ninguna letra mayúscula del alfabeto:

strText4 = "AB7DE"

If strText4 Like "AB[!A-Z]DE" Then
    blnResult4 = True
Else
    blnResult4 = False
End If

Coincidencia con cualquier carácter del alfabeto (mayúsculas o minúsculas):

strText5 = "ABcDE"
   
If strText5 Like "AB[A-Za-z]DE" Then
    blnResult5 = True
Else
    blnResult5 = False
End If

Cuando ejecutas el código, puedes ver que el operador Like devuelve True en las variables blnResult para cada comparación:

Prueba Operador Like

Imagen 2. Uso del operador Like con diferentes patrones de comparación

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