【VBA】開いている全ブックの特定セルを完全一致でクリアする方法
手作業で大量のデータをクリアするのは時間と労力がかかります。この記事では、開いているすべてのワークブック内の特定セルの値を完全一致でクリアするためのVBAマクロを作成します。
サンプルコード
VBA
Option Explicit
Sub ClearSpecificCells()
Dim wb As Workbook, ws As Worksheet
Dim searchValue As String
' 検索したい値を指定
searchValue = "特定の文字列"
Application.ScreenUpdating = False
For Each wb In Workbooks
If Not wb.Name = ThisWorkbook.Name Then
For Each ws In wb.Sheets
Dim cell As Range, foundCell As Range
Set foundCell = ws.Cells.Find(What:=searchValue, LookIn:=xlValues, LookAt:=xlWhole)
If Not foundCell Is Nothing Then
Do
foundCell.ClearContents
Set foundCell = ws.Cells.FindNext(foundCell)
Loop While Not foundCell Is Nothing And foundCell.Address <> ws.Cells(1, 1).Address
End If
Next ws
End If
Next wb
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAによる変更は元に戻すことができません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
ワークブック名やシート名が正しいことを確認し、必要に応じてコードを修正してください。