-
∨目次
- 構文
- 解説
- 使用例
VBA InStrRev 関数
はじめに
Excel VBA マクロの InStrRev 関数を紹介します。
InStrRev 関数は、文字列の後ろから指定の文字列を検索し、最初に見つかった位置を返します。
後ろから文字列を検索するときに使用します。
- 前から検索するには「InStr 関数」を使用します。
-
目次
- 構文
- 解説
- 使用例
構文
InStrRev(検索元, 検索ワード)
検索元の文字列から検索ワードを後ろから検索して見つかった位置を取得します。
InStrRev(検索元, 検索ワード, 開始位置, 比較モード)
指定した開始位置から検索できます。比較モードで大文字と小文字を区別するか指定できます。
引数「検索元」 | 検索元の文字列を指定します。 |
引数「検索ワード」 | 検索するキーワードを指定します。 |
引数「開始位置」 | 省略できます。前から何文字目から検索するかを指定します。 |
引数「比較モード」 | 省略できます。大文字と小文字を区別して検索するかを指定します。 |
戻り値の型 | 数値型 (Long) |
引数「比較モード」
単位 | 説明 |
vbBinaryCompare (既定) | 「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別する。 |
vbTextCompare | 区別しない。 |
解説
引数「検索元」の後ろから前方に向かって検索します。ただし結果は前からの位置を返します。
引数「検索ワード」が見つからなかったときは0を返します。前から 1 文字目で見つかったときは1を返します。見つかったときは1以上の値が返ります。
引数「開始位置」を省略するか-1を指定すると、最後の文字から検索します。
引数「開始位置」は前からの文字数です。5なら前から 5 文字目から前方に検索します。
引数「開始位置」が引数「検索元」の文字数を超える値のときは0を返します。
スポンサーリンク
使用例
Dim l As Long
l = InStrRev("abcabc", "a")
Debug.Print(l) ' 4
l = InStrRev("abcabc", "c")
Debug.Print(l) ' 6
l = InStrRev("abcabc", "bc")
Debug.Print(l) ' 5
l = InStrRev("abcabc", "a", 3) ' 前から 3 文字目から検索
Debug.Print(l) ' 1
l = InStrRev("abcabc", "A")
Debug.Print(l) ' 0
l = InStrRev("abcabc", "A", -1, vbTextCompare) ' 大文字小文字を区別しない
Debug.Print(l) ' 4