#752 文字列を後ろから検索するには? VBA

ある文字列、あるいは文字列が代入されている変数の値の中から、指定された文字を”後ろから”探すには、「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")

上記プログラムの各行では、次の値がイミディエイトウィンドウに出力されます。
  1. 「X」は1つしかないので、その先頭から位置である「6」
  2. 「XY」は1つしかないので、その先頭から位置である「6」
  3. 「2A」は1つしかないので、その先頭から位置である「10」
  4. 「C」は2つあるが、後方にある方の「C」の、先頭からの位置である「13」
  5. 「ABC」は2つあるが、後方にある方の「ABC」の、先頭からの位置である「11」
  6. 「12」は2つあるが、後方にある方の「12」の、先頭からの位置である「9」
  7. 「G」は1つもないので「0」
  8. 「12」はあっても「123」は1つもないので「0」

実行例:
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved