ある文字列、あるいは文字列が代入されている変数の値の中から、指定された文字を”後ろから”探すには、「InStrRev」関数を使います。
この関数では、次のように引数を指定します。返り値は”先頭から”数えた指定文字の位置です。指定文字が見つからない場合は「0」が返されます。
InStrRev(検索対象の文字列, 検索する指定文字)
使用例:
Const cstrData As String = "ABC12XYZ12ABC"
Debug.Print InStrRev(cstrData, "X")
Debug.Print InStrRev(cstrData, "XY")
Debug.Print InStrRev(cstrData, "2A")
Debug.Print InStrRev(cstrData, "C")
Debug.Print InStrRev(cstrData, "ABC")
Debug.Print InStrRev(cstrData, "12")
Debug.Print InStrRev(cstrData, "G")
Debug.Print InStrRev(cstrData, "123")
上記プログラムの各行では、次の値がイミディエイトウィンドウに出力されます。
- 「X」は1つしかないので、その先頭から位置である「6」
- 「XY」は1つしかないので、その先頭から位置である「6」
- 「2A」は1つしかないので、その先頭から位置である「10」
- 「C」は2つあるが、後方にある方の「C」の、先頭からの位置である「13」
- 「ABC」は2つあるが、後方にある方の「ABC」の、先頭からの位置である「11」
- 「12」は2つあるが、後方にある方の「12」の、先頭からの位置である「9」
- 「G」は1つもないので「0」
- 「12」はあっても「123」は1つもないので「0」
実行例:
|