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