A função `StrComp` no VBA (Visual Basic for Applications) é usada para comparar duas strings e determinar a sua ordem lexicográfica. Ela retorna um valor numérico que indica a relação entre as duas strings comparadas.
A sintaxe da função `StrComp` é a seguinte:
StrComp(string1, string2, [compare])
- `string1` e `string2`: São as duas strings que você deseja comparar.
- `[compare]` (opcional): Um argumento que especifica o tipo de comparação. Pode ser:
- `vbBinaryCompare` (ou 0): Realiza uma comparação que diferencia maiúsculas e minúsculas (binária).
- `vbTextCompare` (ou 1): Realiza uma comparação que não diferencia maiúsculas e minúsculas (texto).
- `vbDatabaseCompare` (ou 2): Disponível apenas no Microsoft Access, para comparação de banco de dados.
A função `StrComp` retorna:
- `-1` se `string1` for menor que `string2`.
- `0` se `string1` for igual a `string2`.
- `1` se `string1` for maior que `string2`.
- `Null` se qualquer uma das strings for `Null`.
Aqui está um exemplo de como usar a função `StrComp`:
Sub ExemploStrComp()
Dim resultado As Integer
Dim str1 As String
Dim str2 As String
str1 = "Apple"
str2 = "apple"
' Comparação binária (diferencia maiúsculas de minúsculas)
resultado = StrComp(str1, str2, vbBinaryCompare)
MsgBox "Resultado da comparação binária: " & resultado
' Comparação textual (não diferencia maiúsculas de minúsculas)
resultado = StrComp(str1, str2, vbTextCompare)
MsgBox "Resultado da comparação textual: " & resultado
End Sub
Neste exemplo, a primeira comparação (binária) distinguirá entre “Apple” e “apple” e retornará `-1` (indicando que “Apple” é menor em comparação binária, devido à diferença entre ‘A’ e ‘a’). A segunda comparação (textual) retornará `0`, indicando que são consideradas iguais quando não se diferencia maiúsculas de minúsculas.