InstrB


構文

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

引数startは省略可能です。検索を始める位置を指定します。

引数string1には、検索の対象となる文字列を指定します。

引数strign2には、引数string1の中から検索する文字列を指定します。

引数compareは省略可能です。文字列を比較するモードを指定します。

解説

InStr関数は、引数string1で指定した文字列の中から引数string2で指定した文字列をバイトデータとして検索し、見つかった位置を返します。たとえば、InstrB("1月",ChrB(&H08))は3を返します。

指定した文字列が見つからなかった場合や、引数に長さ0の文字列を指定した場合などにInStr関数が返す値は次のとおりです。

内容 返り値
引数string1が長さ0の文字列("")のとき 0
引数string1がNull値のとき Null値
引数string2が長さ0の文字列("")のとき 引数startに指定した値
引数string2がNull値のとき Null値
引数string2が見つからないとき 0
引数startの値が引数string1の文字数を超えるとき 0

サンプル

次の例は、変数msgの中に改行コード(&H13)が含まれているかどうかを判定します。

Sub Sample()
    Dim msg As String, pos As Integer
    msg = "1月" & vbCrLf & "2月"
    pos = InStrB(msg, Chr(13))
    If pos > 0 Then
        MsgBox "改行コードがあります"
    Else
        MsgBox "改行コードがありません"
    End If
End Sub