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

VBA InStrRev 関数

はじめに

Excel VBA の InStrRev 関数を紹介します。

InStrRev 関数は、文字列の後ろから指定の文字列を検索し、最初に見つかった位置を返します。

後ろから文字列を検索するときに使用します。

構文

InStrRev(検索元, 検索キーワード)

InStrRev(検索元, 検索キーワード, 開始位置, 比較モード)

名前 説明
引数「検索元」検索元となる文字列を指定します。
引数「検索キーワード」検索するキーワードを指定します。
引数「開始位置」省略できます。検索を開始したい位置を指定します。
引数「比較モード」省略できます。大文字と小文字を区別して検索するかを指定します。
戻り値数値型 (Long)

引数「比較モード」

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

解説

後ろから前方に向かって検索します。ただし見つかった位置は前からの位置です。

前から 1 文字目で見つかったときは 1 を返します。

検索キーワードが見つからなかったときは 0 を返します。

開始位置を省略するか -1 を指定すると最後の文字から検索します。

開始位置は前からの文字数です。開始位置が 5 なら、前から 5 文字目から前方に検索します。

比較モードを指定するときは必ず「開始位置」も指定します。

使用例


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, vbBinaryCompare)
Debug.Print (l) ' 0

l = InStrRev("abcabc", "A", -1, vbTextCompare) ' 大文字小文字を区別しない
Debug.Print (l) ' 4

関連ページ