【VBA】全てのシートを完全一致で値をクリアする方法
日々の業務で大量のデータを扱う際、特定の文字列を持つセルの値を全てのシートから一度に消去したいことはありませんか?この記事では、VBAを使用して簡単に実現します。手作業での削除は時間がかかりますが、VBAを使えば一瞬で完了します。
サンプルコード
VBA
Option Explicit
Sub ClearCellsMatchingExactString()
Dim ws As Worksheet, 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 = lastRow To 1 Step -1
If StrComp(.Cells(i, 1), searchStr, vbTextCompare) = 0 Then .Rows(i).ClearContents
Next i
End With
Next ws
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。