OfficeType

VBA~指定のデータが文字列内に含まれるか判定しよう~Excel

VBAで指定のデータが文字列内に含まれるか判定したい場合はInStr関数を設定します。InStr("検索元のデータ", "検索したいデータ")で設定できます。検索元のデータに検索したデータが含まれている場合には左から何番目かを数値で返します。データが含まれない場合は0を返します。

下のコードを実行すると文字列abcdeのうちbcdという文字列は左から2番目から含まれているので、メッセージボックスに2が表示されます。

Sub test1()

MsgBox InStr("abcde", "bcd")

End Sub

image-01

image-02

検索元のデータ、検索したいデータにセルを指定することもできます。

検索元のデータがセルA1に入力されていて、検索したいデータがセルB1に入力されている場合は、下のコードを実行するとメッセージボックスに左から何文字目から含まれるかが表示されます。

Sub test2()

MsgBox InStr(Range("A1"), Range("B1"))

End Sub

image-03

image-04