
「“エラー”って文字が含まれてたら、色を変えたいんだけど…」
「でも、“完全一致”じゃなくて、“含まれてるか”を調べるには、どうすれば…?」



そんなときに便利なのが、InStr関数!
文字列の中にキーワードが含まれているかどうかを調べることができます。
結論:InStr関数は「キーワードが含まれているか」を判定できる!
目次
InStr関数の基本構文
InStr([開始位置], 文字列, 検索文字列, [比較方法])
引数 | 説明 |
---|---|
開始位置 | 検索を開始する位置(省略可) |
文字列 | 検索対象の文字列 |
検索文字列 | 探したいキーワード |
比較方法 | 省略可(0:バイナリ比較 / 1:テキスト比較) |
InStr関数の使用例(キーワード検出)
Dim txt As String txt = "このファイルはエラーがあります" If InStr(txt, "エラー") > 0 Then MsgBox "エラーが含まれています!" End If
🔍 InStr
の戻り値が「0より大きい」=キーワードが含まれている!
条件分岐との組み合わせ例
If InStr(Cells(1, 1).Value, "NG") > 0 Then Cells(1, 1).Interior.Color = vbRed End If
→ セルの内容に「NG」が含まれていたら、背景色を赤に!
→ セルの内容に「NG」が含まれていたら、背景色を赤に!
InStr(5, "ABCDEABCDE", "A") ' → 6(5文字目以降で最初のA)
→ 検索の開始位置を指定すると、後ろの方のキーワード検出にも便利!
まとめ
InStr
で「文字列にキーワードが含まれているか」を調べられる
条件付き書式のような処理をVBAで自動化できる
> 0
を条件にすれば、If文と簡単に組み合わせられる!
コメント