サイトについて      連絡先   検索

VBA StrComp 関数

はじめに

Excel VBA マクロの StrComp 関数を紹介します。

StrComp 関数は、文字列を比較します。大小や等しいかを比較できます。

文字列をソートするときに使用します。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

StrComp(文字列1, 文字列2)
文字列1文字列2を比較した結果を返します。

StrComp(文字列1, 文字列2, 比較モード)
比較モードで大文字と小文字を区別するか指定できます。

引数「文字列1」文字列を指定します。
引数「文字列2」文字列を指定します。
引数「比較モード」省略できます。大文字と小文字を区別して比較するかを指定します。
戻り値の型数値型 (Integer)

引数「比較モード」

単位 説明
vbBinaryCompare (既定)「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別する。
vbTextCompare区別しない。

解説

StrComp 関数で比較した結果は次の値を返します。結果が0なら等しい、それ以外のときは等しくないを意味しています。

比較 結果
文字列1 < 文字列2-1
文字列1 = 文字列20
文字列1 > 文字列21
文字列1 か 2 が NullNull

=<>演算子」で比較すると大文字と小文字などを区別します。引数「比較モード」にvbTextCompareを指定すると区別しないで比較できます。

自作のソートアルゴリズムを使うときなどに使用できます。

使用例


Dim i As Integer

i = StrComp("あ", "い")
Debug.Print(i) ' -1

i = StrComp("あ", "あ")
Debug.Print(i) ' 0

i = StrComp("い", "あ")
Debug.Print(i) ' 1
  
i = StrComp("あいうえお", "アイウエオ")
Debug.Print(i) ' -1

i = StrComp("あいうえお", "アイウエオ", vbBinaryCompare)
Debug.Print(i) ' -1

i = StrComp("あいうえお", "アイウエオ", vbTextCompare)
Debug.Print(i) ' 0
  • 目次
    • 構文
    • 解説
    • 使用例