機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA > VBAの関数

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



このエントリーをはてなブックマークに追加