Como usar a instrução Option Compare no VBA?

No VBA (Visual Basic for Applications), a instrução `Option Compare` é usada para definir como as comparações de strings são realizadas no seu código. Ela deve ser declarada no início de um módulo, antes de qualquer procedimento. Existem três configurações principais que você pode usar com `Option Compare`:

  • Option Compare Binary: As comparações de strings são baseadas na ordem binária, ou seja, na sequência de bytes que compõem cada caractere. Isso distingue letras maiúsculas de minúsculas (‘A’ é diferente de ‘a’). É a configuração padrão se nenhuma opção for especificada.
  • Option Compare Text: As comparações de strings são baseadas em texto e não diferenciam entre maiúsculas e minúsculas (‘A’ é considerado igual a ‘a’). Isso pode ser útil quando você quer que a comparação de strings ignore diferenças de capitalização.
  • Option Compare Database: Essa opção é usada somente em ambientes de acesso a banco de dados (como Microsoft Access). Nesse caso, a comparação de strings segue o conjunto de regras de ordem de classificação definida no banco de dados.

Como usar:

Para utilizar a instrução `Option Compare`, basta adicioná-la no topo do seu módulo VBA antes de qualquer procedimento ou declaração de variável. Aqui estão alguns exemplos de como declarar a comparação de string desejada:

' Comparação binária (case-sensitive)
Option Compare Binary

Sub ExemploComparacao()
    Dim str1 As String
    Dim str2 As String
    
    str1 = "Olá"
    str2 = "olá"
    
    If str1 = str2 Then
        MsgBox "As strings são iguais."
    Else
        MsgBox "As strings são diferentes."
    End If
End Sub

Neste exemplo, a mensagem “As strings são diferentes.” aparecerá, pois a comparação é sensível a maiúsculas e minúsculas.

' Comparação de texto (case-insensitive)
Option Compare Text

Sub ExemploComparacao()
    Dim str1 As String
    Dim str2 As String
    
    str1 = "Olá"
    str2 = "olá"
    
    If str1 = str2 Then
        MsgBox "As strings são iguais."
    Else
        MsgBox "As strings são diferentes."
    End If
End Sub

Neste exemplo, a mensagem “As strings são iguais.” aparecerá, pois a comparação ignora maiúsculas e minúsculas.

Considerações

  • Localização: A instrução `Option Compare` deve ser colocada no início do módulo, antes de qualquer outro código.
  • Escopo: A configuração escolhida afeta todas as comparações de strings dentro do módulo onde está declarada.
  • Compatibilidade: Tenha cuidado ao trabalhar em ambientes onde a distinção entre maiúsculas e minúsculas é importante, como chaves de criptografia ou alguns identificadores de sistema.

Escolha a opção que melhor se adapta ao comportamento desejado para comparações de strings no seu projeto VBA.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project