#11_3 文字列の比較
文字列の比較とは何か
文字列の比較とは、2つの文字列があった時に、それらが同じ文字列だった時にTRueを返し、違った場合はFalseを返すような処理のことです。
通常は比較演算子の等号「=」を使ったりしますが、そもそもの比較対象として、例えば次のようなデータはすべて異なるデータとして扱われます。
文字列の種類 | 比較される文字列の例 |
---|---|
ひらがなとカタカナ | 「こんにゃく」と「コンニャク」 |
大文字と小文字 | 「VBA」と「vba」 |
全角と半角 | 「VBA」と「VBA」 |
StrComp関数の使い方
StrComp関数の構文を最初に示しておきます。
StrComn(文字列1, 文字列2 〔, 比較モード〕)
ここで、文字列1及び文字列2にはそれぞれ比較する任意の文字列を指定します。ここで、比較の項目が出てきた良い機会なので、今まで何度か出てきている「比較モード」についても解説しておきます。
比較モードとは、文字どおり文字列を比較する際の様式の指定であり、以下の4パターンがあります。
比較モードの定数 | 値 | 意味 |
---|---|---|
vbUseCompareOption | -1 | Option Compareステートメントの設定で比較する(既定) |
vbBinaryCompare | 0 | Binaryモードでの比較をする |
vbTextCompare | 1 | Textモードでの比較をする |
vbDatabaseCompare | 2 | データベースに格納されている設定で比較する。Microsoft Accessの場合のみ有効。 |
省略可能な引数に関しては今まであまり触れてきませんでしたが、このStrComp関数の第三引数にvbTextCompareつまり1を指定すると、Textモードで比較することができます。両者が等しければ0を返し、文字列1の方が大きければ−1を、文字列2の方が大きければ1を返します。