Excel

【Excel】VBAマクロで置換を一括(シート全体:列ごと:範囲指定:文字列)行う方法【Replaceメソッド、Cellsプロパティ、Rangeオブジェクト】

当サイトでは記事内に広告を含みます。

この記事では、「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オブジェクト】について確認しました。

マクロに慣れ、さらにストレスフリーな生活を送っていきましょう!