Evitar que VBA distinga entre mayúsculas y minúsculas: opción Comparar texto

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.

Hacer que VBA no distinga entre mayúsculas y minúsculas

Para que VBA no distinga entre mayúsculas y minúsculas, debe poner Opción Comparar texto al comienzo del módulo. Primero, veremos el comportamiento estándar de VBA sin esta opción establecida. Este es el código:

123456789 Si Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Value EntoncesMsgBox "Dos textos son iguales"DemásMsgBox "Dos textos son diferentes"Terminara si

En el ejemplo, queremos comparar las cadenas de A1 y B1. Si las cadenas son iguales, devolveremos el cuadro de mensaje con el mensaje “Dos textos son iguales”. Si no son iguales, devolveremos el mensaje “Dos textos son diferentes.

Imagen 1. Comparación de 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 devolvió este mensaje.

1234567891011 Opción Comparar textoPublic Sub CaseSensitiveTest ()Si Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Value EntoncesMsgBox "Dos textos son iguales"DemásMsgBox "Dos textos son diferentes"Terminara siEnd Sub

Ahora agregaremos Option Compare Text al comienzo del módulo y veremos la diferencia. Aquí está el código. Ejecutamos el código en el mismo ejemplo:

Imagen 2. Comparación de las cadenas con la opción Comparar texto

Ahora, cuando se establece Option Compare Text, el VBA no distingue entre mayúsculas y minúsculas y considera que estos dos textos son iguales.

Comparación de texto

Si no declara Opción Comparar texto, puede convertir cadenas de caracteres para realizar comparaciones que no distingan entre mayúsculas y minúsculas. Esto es posible mediante la función UCase, LCase o StrConv. Puede encontrar más información sobre esto aquí: VBA Upper, Lower y Proper Case - Case Functions

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave