関数・メソッド

文字列データの既定の比較方法を設定する【Option Compareステートメント】【ExcelVBA】

構文

Option Compare {Binary| Text| Database}

Binary  ・・・大文字と小文字、文字幅、カタカナとひらがなを区別します。【規定値】
Text     ・・・大文字と小文字、文字幅、カタカナとひらがなを区別しません。
DataBase・・Microsoft Access でのみ使用可能

Option Compareは文字列データの既定の比較方法を設定します。
バイナリモードで比較し厳格な比較を行う事や、テキストモードで比較し緩い比較が可能です。

Option Compareステートメントのコードサンプル

バイナリモード(規定値)の場合

Option Compare Binary   '規定値なのでわざわざ設定する必要もない
Public Sub test()

    Debug.Print "a" = "A"       'false
    Debug.Print "a" = "a"      'false
    Debug.Print "a" = "A"      'false
    Debug.Print "ア" = "あ"     'false
    Debug.Print "ア" = "あ"      'false
End Sub

テキストモードの場合

Option Compare Text
Public Sub test()

    Debug.Print "a" = "A"       'True
    Debug.Print "a" = "a"      'True
    Debug.Print "a" = "A"      'True
    Debug.Print "ア" = "あ"     'True
    Debug.Print "ア" = "あ"      'True

End Sub

注意点

  • バイナリモードの場合は、正確にはバイナリ文字コードのコード順(Windows版ではUnicodeのコード)で比較します。

関連記事

配列開始を1からスタートさせる【Option Base 1】【ExcelVBA】 2つの文字を比較する【StrComp関数】【ExcelVBA】 「シートで指定したセル範囲の比較処理」をパーツ化する【ExcelVBA】
指定した文字列の中から指定文字を置換する【Replace関数】【VBA入門】

コメント

タイトルとURLをコピーしました