📘 Excel逆引き事典

【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.
シート名や列番号が正しいか確認してください。