Contenido
La función `StrComp` en VBA se utiliza para comparar dos cadenas de texto y devuelve un valor entero que indica el resultado de la comparación. La sintaxis de la función es la siguiente:
StrComp(string1, string2, [compare])
Donde:
- `string1` : es la primera cadena de texto que deseas comparar.
- `string2` : es la segunda cadena de texto que deseas comparar.
- `compare` : (opcional) especifica el tipo de comparación. Puede ser:
- `vbUseCompareOption` (-1): Utiliza la opción de comparación definida por la sentencia `Option Compare`.
- `vbBinaryCompare` (0): Realiza una comparación binaria, es decir, diferencia entre mayúsculas y minúsculas.
- `vbTextCompare` (1): Realiza una comparación textual, es decir, no diferencia entre mayúsculas y minúsculas.
- `vbDatabaseCompare` (2): Solo se utiliza en bases de datos de Microsoft Access.
El retorno de la función es un entero que puede tener los siguientes valores:
- `-1` : `string1` es menor que `string2`
- `0` : `string1` es igual a `string2`
- `1` : `string1` es mayor que `string2`
- `Null` : si cualquiera de las cadenas de texto o ambas son `Null`.
Aquí tienes un ejemplo de cómo usar `StrComp`:
Sub EjemploStrComp()
Dim resultado As Integer
' Compara dos cadenas de texto de manera binaria (sensible a mayúsculas y minúsculas)
resultado = StrComp("Hola", "hola", vbBinaryCompare)
MsgBox "El resultado de la comparación binaria es: " & resultado
' Compara dos cadenas de texto de manera textual (no sensible a mayúsculas y minúsculas)
resultado = StrComp("Hola", "hola", vbTextCompare)
MsgBox "El resultado de la comparación textual es: " & resultado
End Sub
Este código mostrará dos cuadros de mensaje, el primero indicando `-1` (porque en una comparación binaria, «Hola» es menor que «hola»), y el segundo mostrando `0` (puesto que, al no tener en cuenta las mayúsculas, las cadenas son iguales).
Recuerda que puedes omitir el tercer argumento si deseas usar la configuración `Option Compare` establecida en el módulo de VBA o para usar la configuración predeterminada de VBA que es `vbBinaryCompare`:
resultado = StrComp("Hola", "hola")
En este caso, si no hay una sentencia `Option Compare` definida, se asume una comparación binaria y el resultado sería `-1`.