Evitar que VBA Distinga entre Mayúsculas y Minúsculas – Opción Comparar Texto

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on diciembre 7, 2022

Mientras trabaja en VBA, a menudo necesita comparar cadenas. Por defecto, VBA distingue entre mayúsculas y minúsculas, por lo que si compara dos textos iguales y uno de ellos está en mayúsculas y el otro en minúsculas, VBA los considerará como textos diferentes. En este tutorial, verá cómo evitar que VBA distinga entre mayúsculas y minúsculas.

Cómo Hacer que VBA No Distinga entre Mayúsculas y Minúsculas

Para hacer que VBA no distinga entre mayúsculas y minúsculas, necesita poner Option Compare Text al principio del módulo. Primero, veremos el comportamiento estándar de VBA sin esta opción establecida. Este es el código:

Sub comparar_texto()
    If Hoja1.Range("A1").Value = Hoja1.Range("B1").Value Then
        MsgBox "Los dos texto son iguales"
    Else
        MsgBox "Los textos son diferentes"
    End If
End Sub

En el ejemplo, queremos comparar las cadenas de A1 y B1. Si las cadenas son iguales, devolveremos el cuadro de mensaje con el mensaje «Los dos texto son iguales». Si no son iguales, devolveremos el mensaje «Los textos son diferentes».

Comparar Texto en VBA

Imagen 1. Comparación de las cadenas sin la opción Comparar texto

Como puedes ver en la imagen, ambos textos son iguales, pero el primero está en mayúsculas, mientras que el segundo está en minúsculas. Por eso, VBA los considera diferentes y devuelve este mensaje.

Ahora añadiremos la Opción Comparar Texto al principio del módulo y veremos la diferencia. Aquí está el código. Ejecutamos el código en el mismo ejemplo:

Option Compare Text
Sub comparar_texto()
    If Hoja1.Range("A1").Value = Hoja1.Range("B1").Value Then
        MsgBox "Los dos texto son iguales"
    Else
        MsgBox "Los textos son diferentes"
    End If
End Sub
Comparar Texto en VBA con Option Compare Text

Imagen 2. Comparando las cadenas con la Opción Comparar Texto

Ahora, cuando se establece la opción Comparar texto, el VBA se vuelve insensible a mayúsculas y minúsculas y considera que estos dos textos son iguales.

Comparación de Texto

Si no declara la Option Compare Text, puede convertir los casos de las cadenas para hacer comparaciones insensibles a mayúsculas y minúsculas. Esto es posible mediante las funciones UCase, LCase o StrConv. Puede encontrar más información sobre esto aquí: VBA Upper, Lower, and Proper Case – Case Functions

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