各セルをループで読み込んで特定文字がある場合、背景色を切り替えるVBAのサンプルを紹介します。
仕様
ボタン押下後に表内のセルを全て検索して、特定の文字を含んだ場合に背景色を切り替えます。
今回のサンプルはセル内に「か」を含んだ場合に、背景色を黄色にします。
今回1つだけ工夫した点があり、ヘッダー行は除いています。
ソースコード
Sub ボタン1_Click()
'対象範囲を選択する(ヘッダー行は除く)
With Range("A3").CurrentRegion
'そのままだとA1:C7まで選択されるので、
'行数を7行から5行へ2行減らす、かつアクティブセルをA1からA3まで2行ずらす
.Resize(.Rows.Count - 2).Offset(2).Select
End With
'選択したセル範囲を全てループ
For Each c In Selection
If (InStr(1, c.Value, "か") > 0) Then
'背景色を黄色にする
c.Interior.Color = ColorConstants.vbYellow
Else
'背景色を白色にする
c.Interior.Color = ColorConstants.vbWhite
End If
Next
End Sub
テスト実行
ボタンを押すと下記の通り、セル内に「か」を含んでいる場合に背景色が黄色に切り替わっています。
その他の方法
このレベルだとマクロを使用せず、Excelの機能でも可能ですので、細かな文字列の検索制御をしたい場合は下記の正規表現バージョンを使用します。
参考情報
環境
下記の環境で作成・実行しております。
No. | 環境 | バージョン |
---|---|---|
1 | OS | Windows10 |
2 | Excel | Excel2016 |
以上です。