【VBA】全てのシートを部分一致で背景色を変える方法
手作業で大量のデータの中から特定のキーワードを持つセルを見つけ出し、背景色を変更するのは時間がかかります。この記事では、VBAを使用して簡単に全てのシート内の部分一致する文字列を持つセルの背景色を一括で変更する方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub ChangeBackgroundColor()
Dim ws As Worksheet
Dim lastRow As Long, i As Long
Dim searchStr As String
'検索文字列の設定
searchStr = "特定のキーワード"
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
With ws
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row '最終行を取得
For i = 1 To lastRow
If InStr(1, .Cells(i, 1), searchStr) > 0 Then '.Cells(i, 1)のセルにsearchStrが含まれている場合
.Cells(i, 1).Interior.Color = RGB(255, 255, 0) '背景色を黄色に変更
End If
Next i
End With
Next ws
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。