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



そんなときに便利なのが、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文と簡単に組み合わせられる!

コメント