Excel VBAで文字列操作を行う際、特定の文字や文字列がどこに位置しているかを知りたい場面が多々あります。そんな時に役立つのがInStr関数です。

InStr関数とは

InStr関数は、ある文字列の中で別の文字列が最初に出現する位置を返す関数です。もし指定した文字列が存在しない場合は、0を返します。

基本的な使い方

result = InStr(検索される文字列, 検索する文字列)

Dim position As Integer
position = InStr("Hello, World!", "World")
' position は 8 となります。

開始位置を指定する

InStr関数は、第3引数として検索の開始位置を指定することができます。

result = InStr(開始位置, 検索される文字列, 検索する文字列)

Dim position As Integer
position = InStr(8, "Hello, World! Hello!", "Hello")
' position は 14 となります。

大文字・小文字を区別しない検索

InStr関数はデフォルトで大文字と小文字を区別しますが、vbTextCompareを使用することで区別せずに検索することができます。

result = InStr(1, "Hello, World!", "WORLD", vbTextCompare)

まとめ

InStr関数は、文字列操作やデータの解析を行う際に非常に役立つ関数です。上記の基本的な使い方をマスターすることで、Excel VBAでのプログラミングがよりスムーズになります。