📘 Excel逆引き事典

【VBA】全てのシートを部分一致で値をクリアする方法

日々の業務では、大量のデータの中から特定の文字列を持つセルの情報を一括でクリアすることが求められることがあります。手作業では時間がかかりますが、この記事ではVBAを使用して効率的に処理します。

サンプルコード

VBA
Option Explicit
Sub ClearCellsMatchingPartialString()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim 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 ' A列を対象にしますが、必要に応じて変更可能
                    .Rows(i).ClearContents
                End If
            Next i
        End With
    Next ws
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。また、部分一致文字列の指定が適切であるかもチェックしてください。