関数・メソッド

2つの文字を比較する【StrComp関数】【ExcelVBA】

構文

StrComp(String1 , String2 [, compare])  

String1 ・・・ 比較したい文字列1 [省略不可] String2・・・ 比較したい文字列2 [省略不可] compare・・・比較するモード [省略可]
戻り値・・・・Variant(内部的には文字列型String)
String1String2を比較する関数です。
compareは以下の定数で指定します。
定数内容
vbBinaryCompare0バイナリモードで比較(大文字と小文字を区別する)
vbTextCompare1テキストモードで比較(大文字と小文字を区別しない)
vbDatabaseCompare2データベース内の情報で比較(Microsoft Accessのみ)

戻り値は以下です。

内容戻り値
String1 は String2 未満-1
String1 と String2 は等しい0
String1 は String2 を超える1

StrComp関数のサンプルコード

’バイナリモードで比較し厳格な比較を行う事や、テキストモードで比較し緩い比較が可能です。
Public Sub test_StrComp()

    '■バイナリモード(大文字小文字区別で比較する)=一致しない
    If StrComp("ABCDE", "abcde", vbBinaryCompare) = 0 Then
        MsgBox "一致しました"
    End If
        
    '■テキストモード(大文字小文字区別で比較する)=一致する
    If StrComp("ABCDE", "abcde", vbTextCompare) = 0 Then
        MsgBox "一致しました"
    End If
    
    '■バイナリモード(大文字小文字区別で比較する)=一致しない
    If StrComp("ABCDE", "ABCDE", vbBinaryCompare) = 0 Then
        MsgBox "一致しました"
    End If
    
    '■テキストモード(大文字小文字区別で比較する)=一致する
    If StrComp("ABCDE", "ABCDE", vbTextCompare) = 0 Then
        MsgBox "一致しました"
    End If

End Sub

注意点

関連記事

指定した文字列の中から指定文字を置換する【Replace関数】【VBA入門】
指定した文字位置を判断する【Instr関数】【ExcelVBA】

 

コメント

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