【ACCESS VBA】指定した文字が文字列内の何番目にあるかを調べるには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、指定した文字が文字列内の何番目にあるかを調べる方法をご紹介します。

指定した文字が文字列内の何番目にあるかを調べる

使用する関数

InStr関数

InStr( [start] , string1 , string2 , [compare] )

説明
ある文字列(string1)の中から検索文字列(string2)が最初に見つかった位置を返します。
検索文字列(string2)が見つからない場合は「0」を返します。
指定項目 必須 説明
start
検索の開始位置を数値で設定。 省略した場合、先頭の文字から検索されます。 
compare を指定した場合、start は必須となります。
string1 もとになる文字列を指定します。 
string2 検索文字列を指定します。
compare 以下、文字列比較の種類を指定します。

引数「compare」に指定する定数と値

定数 内容
vbBinaryCompare
0
バイナリ-モードで比較します。
文字の半角・全角を区別します。
vbTextCompare
1
テキストモードで比較します。
文字の半角・全角を区別しません。

InStrRev関数

InStrRev( stringcheck , stringmatch , [start] , [compare] )

説明
1番目の引数(stringcheck)に指定した文字列内に、2番目の引数(stringmatch)に指定した文字列を、末尾から検索して、最初に見つかった文字の位置の先頭からの位置を返します。
検索文字列(stringmatch)が見つからない場合は「0」を返します。
指定項目 必須 説明
stringcheck もとになる文字列を指定します。
stringmatch 検索文字列を指定します。
start 検索の開始位置を数値で設定。 省略した場合、最後の文字から検索されます。 
compare 以下、文字列比較の種類を指定します。

引数「compare」に指定する定数と値

定数 内容
vbBinaryCompare
0
バイナリ-モードで比較します。
文字の半角・全角を区別します。
vbTextCompare
1
テキストモードで比較します。
文字の半角・全角を区別しません。

サンプルプログラム

1 Subプロシージャ「Sample」を作成。
3 文字列「C:\Access\Sample\サンプル.accdb」から文字列「\」を検索し、先頭からの位置をメッセージボックスに表示します。
4 文字列「C:\Access\Sample\サンプル.accdb」から文字列「\」を末尾から検索し、先頭からの位置をメッセージボックスに表示します。

実行結果

InStr関数

InStrRev関数

関連記事

最後まで読んでいただき、ありがとうございました!