[VBA,VB.NET,C#,PHP]プログラムTips集

[VBA,VB.NET,C#,PHP]プログラムのちょっとしたテクニック

VBAで文字列の後ろ(右側)から、文字位置(インデックス)を検索する方法

構文

InStrRev(“検索対象文字”,”検索文字”[,start[,compare]])
  • 引数1:string1には、検索の対象となる文字列を指定
  • 引数2:string2には、引数string1の中から検索する文字列を指定
  • 引数3:startは省略可能です。検索を始める位置を指定
  • 引数4:compareは省略可能です。文字列を比較するモードを指定

解説

InStrRev関数は、引数1で指定した文字列の中から、引数2で指定した文字列を後方から検索し、文字列が存在した場合に位置を返します。

引数compareに設定できる値と説明
数値 内容
0 テキストモードで比較します(大文字と小文字の区別しない)
1 バイナリモードで比較
2 Microsoft Accessのみ使用可

使い方(例)

カンマ区切りの文字列の最終文字列(データ)を取得
Dim strData As String
strData = "データ1,データ2,データ3,データ4,データ5"
' データから最後の「,」を見つけて最終データを取得
Debug.Print(Mid(strData, InStrRev(buf, ",") + 1))