【VBA】特定の文字を含む行をエラー処理付きで置換する方法
日々の業務で大量のデータを扱う際、特定の文字列を含む行を一括で置換したいことはありませんか?手作業では時間がかかりすぎる上にミスも増えます。この記事では、VBAを使って簡単にその問題を解決します。さらに、エラー処理を入れることで安心して実行できます。
サンプルコード
VBA
Option Explicit
Sub ReplaceRowsWithCriteria()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim criteria As String
Dim replacementText As String
' エラー処理のための設定
Application.ScreenUpdating = False
On Error GoTo ErrorHandler
Set ws = ThisWorkbook.Sheets("Sheet1")
criteria = "特定の文字"
replacementText = "置換後の文字列"
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' 行をループして条件に一致する行を見つけ、置換を行う
For i = lastRow To 1 Step -1
If InStr(1, ws.Cells(i, 1), criteria) > 0 Then
ws.Rows(i).Value = replacementText
End If
Next i
' 完了メッセージを表示
MsgBox "置換が完了しました。", vbInformation
Exit Sub
ErrorHandler:
MsgBox Err.Description, vbExclamation
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。