構文
Option Compare {Binary| Text| Database}
Binary ・・・大文字と小文字、文字幅、カタカナとひらがなを区別します。【規定値】
Text ・・・大文字と小文字、文字幅、カタカナとひらがなを区別しません。
DataBase・・Microsoft Access でのみ使用可能
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入門】
コメント