Option Compare (statement)

Syntax Option Compare [Binary | Text]
Description Controls how strings are compared.
Comments When Option Compare is set to Binary , then string comparisons are case-sensitive (for example, " A " does not equal " a "). When it is set to Text , string comparisons are case-insensitive (for example, " A " is equal to " a "). The default value for Option Compare is Binary . The Option Compare statement affects all string comparisons in any statements that follow the Option Compare statement. Additionally, the setting affects the default behavior of Instr , StrComp , and the Like operator. The following table shows the types of string comparisons affected by this setting: > < <> <= >= Instr StrComp Like The Option Compare statement must appear outside the scope of all subroutines and functions. In other words, it cannot appear within a Sub or Function block.
Example This example shows the use of Option Compare.
Option Compare Binary
Sub CompareBinary
  a$ = "This String Contains UPPERCASE."
  b$ = "this string contains uppercase."
  If a$ = b$ Then
    MsgBox "The two strings were compared case-insensitive."
  Else
    MsgBox "The two strings were compared case-sensitive."
  End If
End Sub
Option Compare Text
Sub CompareText
  a$ = "This String Contains UPPERCASE."
  b$ = "this string contains uppercase."
  If a$ = b$ Then
    MsgBox "The two strings were compared case-insensitive."
  Else
    MsgBox "The two strings were compared case-sensitive."
  End If
End Sub
Sub Main()
 CompareBinary        'Calls subroutine above.
 CompareText          'Calls subroutine above.
End Sub
See Also Like (operator); InStr (function); StrComp (function); Comparison Operators (topic).