« セル内の改行を削除する | トップページ | マクロ実行中に一定時間ごとにブックを保存 »

2010年5月24日 (月)

ある文字列を含むかで条件分岐

ある文字列が含まれているかを調べるのに
文字列操作系InStr関数を使います。

InStr関数は、
指定した文字列の中に探したい文字列がある場合は、
探したい文字列の先頭の文字が
最初からの何文字目かを返します。

探したい文字列がない場合は0を返します。

つまり、探したい文字列がある場合は0以外なので
これを使って条件分岐します。

簡単な使い方:

InStr(string1, string2)

string2に探したい文字列を、
string1に探したい文字列を検索したい文字列を指定します。

詳細はVBAヘルプにあります。

コードはこちら

ある文字列が含まれているかで条件分岐する コード:

Sub macro100524a()
'ある文字列が含まれているかで条件分岐
    Dim Str1 As String, Str2 As String
    Str1 = "やむえむのExcel VBAメモ"
    Str2 = "VBA"
   
    If InStr(Str1, Str2) <> 0 Then
        '文字列が含まれていた場合の処理をいれる
        MsgBox "「" & Str1 & "」 に 「" & Str2 & "」 は含まれます。"
    End If
   
End Sub

上記の場合は
InStr(Str1, Str2) = 12
Str1の12文字目にStr2の1文字目があります。

逆に、
ある文字列が含まれないときに処理したい場合は、
InStr(string1, string2) = 0
を条件にします。

|

« セル内の改行を削除する | トップページ | マクロ実行中に一定時間ごとにブックを保存 »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ある文字列を含むかで条件分岐:

« セル内の改行を削除する | トップページ | マクロ実行中に一定時間ごとにブックを保存 »