InstrRev 関数はある文字列の中から指定した文字列を後方から検索し、最初に見つかった文字位置(先頭からの文字数)を返します。InStr 関数とは構文が異なりますので、注意してください。
InstrRev関数の使用方法
引数名 | 省略 | 説明 |
---|---|---|
String1 | × | 検索対象となる文字列式を指定します。 |
String2 | × | 引数 String1 内で検索する文字列式を指定します。 |
Start | ○ | 文字列の検索を開始する位置を指定します。省略した場合は、文字列の最後から検索が開始されます。 |
Compare | ○ | 文字列比較の比較モードを指定する数値を設定します。 引数 Compare を省略すると、Option Compare ステートメントの設定に応じて、比較モードが決まります。 |
定数 | 値 | 説明 |
---|---|---|
vbUseCompareOption | -1 | Option Compare ステートメントの設定を使用して比較を行います。 |
vbBinaryCompare | 0 | バイナリ モードで比較を行います。 |
vbTextCompare | 1 | テキスト モード(大文字/小文字、全角/半角 区別なし)で比較を行います。 |
InstrRev関数の使用例
同一の文字列に対して、パラメータをいくつか変更して検索する例です。変更したパラメータにより検索結果がかわってくるのがわかると思います。
Sub sample_ef029_01()
Dim wStr As String
wStr = "ABCDEabcdeabcdeABCDE"
Debug.Print "文字列:" & wStr
'[1]:文字列の後方から「ABC」を検索
Debug.Print "検索結果[1]:" & InStrRev(wStr, "ABC")
'[2]:2文字目から「ABC」を検索
Debug.Print "検索結果[2]:" & InStrRev(wStr, "ABC", 15)
'[3]:テキストモード(大文字・小文字・半角・全角区別なし)で検索
Debug.Print "検索結果[3]:" & InStrRev(wStr, "ABC", 15, vbTextCompare)
End Sub