【VBA】全てのシートで完全一致で置換する方法
日々の業務で大量のデータを扱う際、特定の文字列を別の文字列に置き換える作業は手間がかかります。この記事では、Excel VBAを使って全シートを一括で完全一致で置換する方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub ReplaceTextAcrossAllSheets()
Dim ws As Worksheet
Dim searchValue As String
Dim replaceValue As String
' 完全一致の文字列を指定
searchValue = "古い文字列"
replaceValue = "新しい文字列"
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Sheets
With ws.Cells.Replace What:=searchValue, Replacement:=replaceValue, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Debug.Print "シート名: " & ws.Name & ", 置換数: " & .Count
End With
Next ws
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。