この記事では、「ExcelでVBAマクロを使用して置換処理を一括で行う方法」について解説していきます。
ポイントとしては、`Replaceメソッド`、`Cellsプロパティ`、`Rangeオブジェクト`を使用することです。
なお、下記の解説では完全な初心者でもわかりやすいように、変数名を独特な名称にしています。実際に使用する際は適切な英語表記に変換してくださいませ。
それでは詳しく見ていきましょう!
VBAマクロで置換を一括(シート全体:先頭のシートに一括でココアという文字列をカカオに変換)で行う方法
それではまず、「シート全体での一括置換」について解説していきます。
先頭シート内のセル内にココアという文字列があれば、一括でカカオに変換する処理となっています。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub aaaaaReplaceWholeSheetaaaaa()
Dim aaaaawsaaaa As Worksheet
Set aaaaawsaaaa = ThisWorkbook.Sheets(1) ' 先頭のシートを選択
aaaaawsaaaa.Cells.Replace What:="ココア", Replacement:="カカオ", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
End Sub
コードのAlt+F8を押し、マクロ選択画面でaaaaaReplaceWholeSheetaaaaa関数を実行します。
このコードは、ワークブックの先頭のシート全体にわたって、「ココア」という文字列を「カカオ」に置換する処理を行います。`Cells.Replace`メソッドを使用しており、全てのセルを対象としています。
VBAマクロで置換を一括(列ごと:B列2行目から最終行に対してカカオをゴリラに変換)で行う方法
続いては、「列ごとの置換」について解説していきます。
具体的にはB列2行目から最終行まで(先頭がヘッダーであると想定)のカカオという文字列をゴリラに一括置換する処理をみます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub aaaaaReplaceColumnaaaaa()
Dim aaaaawsaaaa As Worksheet
Dim aaaaalraaaa As Long
Set aaaaawsaaaa = ThisWorkbook.Sheets(1) ' 先頭のシートを選択
aaaaalraaaa = aaaaawsaaaa.Cells(aaaaawsaaaa.Rows.Count, "B").End(xlUp).Row
aaaaawsaaaa.Range("B2:B" & aaaaalraaaa).Replace What:="カカオ", Replacement:="ゴリラ", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
End Sub
コードのAlt+F8を押し、マクロ選択画面でaaaaaReplaceColumnaaaaa関数を実行します。
このコードは、B列の2行目から最終行までの範囲にある「カカオ」という文字列を「ゴリラ」に置換します。ここでは、`Range`オブジェクトを使用して特定の列の範囲を指定しています。
VBAマクロで置換を範囲指定(C3からF7セルの範囲でロバをババロアに変換)で行う方法
最後に、「特定の範囲での置換」について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub aaaaaReplaceSpecificRangeaaaaa()
Dim aaaaawsaaaa As Worksheet
Set aaaaawsaaaa = ThisWorkbook.Sheets(1) ' 先頭のシートを選択
aaaaawsaaaa.Range("C3:F7").Replace What:="ロバ", Replacement:="ババロア", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
End Sub
コードのAlt+F8を押し、マクロ選択画面でaaaaaReplaceSpecificRangeaaaaa関数を実行します。
このコードでは、C3からF7までの範囲にある「ロバ」という文字列を「ババロア」に置換しています。このように`Range`オブジェクトを使用することで、特定の範囲を簡単に指定することが可能です。
まとめ VBAで置換(列ごと:範囲指定:文字列)行う方法【Replaceメソッド、Cellsプロパティ、Rangeオブジェクト】
この記事では、VBAマクロで置換を一括(シート全体:列ごと:範囲指定:文字列)行う方法【Replaceメソッド、Cellsプロパティ、Rangeオブジェクト】について確認しました。
マクロに慣れ、さらにストレスフリーな生活を送っていきましょう!