📘 Excel逆引き事典

【VBA】開いている全ブックの値を一括クリアする方法

手作業で大量のExcelファイルのデータをクリアするのは時間がかかります。この記事では、開いている全てのブックに対して自動的にデータをクリアするVBAマクロを作成します。

サンプルコード

VBA
Option Explicit
Sub ClearAllBooks()
    Dim wb As Workbook
    Application.ScreenUpdating = False '画面更新停止
    For Each wb In Workbooks
        If Not wb.Name = ThisWorkbook.Name Then '現在のワークブックは対象外
            Call ClearSheetValues(wb)
        End If
    Next wb
    Application.ScreenUpdating = True '画面更新再開
End Sub

Sub ClearSheetValues(ByRef wb As Workbook)
    Dim ws As Worksheet, lastRow As Long
    For Each ws In wb.Worksheets
        With ws
            .Cells.ClearContents 'シートのすべてのセルをクリア
        End With
    Next ws
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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