📘 Excel逆引き事典

【VBA】開いている全ブックの背景色を変える方法

日々の業務の中で、大量のワークブックを開いている状況はよくありますよね?それぞれのワークブックに手動で背景色を変更するのは大変です。そこで今回は、VBAを使って開いている全てのワークブックの背景色を一括で変更する方法を紹介します。エラー処理もしっかりと入れているので安心して使用できます。

サンプルコード

VBA
Option Explicit
Sub ChangeBackgroundColorOfAllBooks()
    Dim wb As Workbook
    Dim ws As Worksheet
    Application.ScreenUpdating = False '画面更新停止
    On Error GoTo ErrorHandler 'エラーハンドリング開始
    For Each wb In Workbooks '開いている全てのワークブックをループ処理
        For Each ws In wb.Worksheets '各ワークブック内のシートをループ処理
            With ws.Range("A1").EntireRow.Interior '指定範囲の背景色変更
                .Color = RGB(255, 0, 0) '赤色に変更(RGB値で指定)
            End With
        Next ws
    Next wb
    Application.ScreenUpdating = True '画面更新再開
    Exit Sub 'エラーなしの場合の終了処理
ErrorHandler: 'エラーハンドリング終了
    MsgBox "エラーが発生しました。詳細はデバッグウィンドウを確認してください。", vbExclamation
    Application.ScreenUpdating = True '画面更新再開
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。