トップページ

#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を返します。