文字列の中に特定の文字列が含まれているかどうかを調べる
“abcdefghijklmn” という文字列の中に、”efg”があるかどうかを調べる、といった時には、Instr関数を使用します。
Instr(“abcdefghijklmn”,”efg”) → 5
となります。
InStr(Start, String1, String2, Compare)
が書式で、Startは何文字目から探すかを指定します(省略することも可能です)
String1の中から、String2の文字列を探して、見つかった場合、それが最初から何文字目かを返します。
Compareは比較方法です。0なら、大文字小文字、全角半角、ひらがなカタカナを区別して比較し、1なら
それらを区別せず比較するようです。
Instr(“にわにはにわにわとりがいる”,”にわ”) → 1
Instr(3,”にわにはにわにわとりがいる”,”にわ”) → 5
Instrの場合、文字列を先頭側から探します。これに対し、InstrRevを使用した場合、文字列を後ろ側から探します。
InStrRev(“にわにはにわにわとりがいる”, “にわ”) → 7
“にわ”という文字列を後ろ側から探し、最初に見つかる「にわとり」の「にわ」が最初から何文字目にあるか?を返しています。
VBAのお勉強 まとめへもどる