構文
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