【エクセルマクロ】Replace関数で置換する:使用例9選

vba-Replace関数で置換-アイキャッチ ExcelVBA

エクセルマクロで、Replace関数を使って文字を置換するコードを記載しています。

このページのマクロコードは、コピペで使えます。
ぜひお試しください😉

Replace関数(特定文字を置換)

以下のマクロを実行すると、指定範囲内にある特定文字を一括置換します。


Sub 特定文字を一括置換()
 Range("A1:B10").Replace "リンゴ", "ブドウ"
End Sub

 

マクロ実行前


 

マクロ実行後

「リンゴ」を「ブドウ」にまとめて置換します。


 
 

Replace関数(複数文字を置換)

以下のマクロを実行すると、配列を使って複数文字を置換します。


Sub 複数の文字列を一括置換()
    Dim replaceData As Range
    Dim findList As Variant
    Dim replacement As String
    Dim i As Long
    
    '置換する範囲
    Set replaceData = Range("A1:A6")
    
    '置換したい文字を複数指定
    findList = Array("リンゴ", "オレンジ", "バナナ")
    
    '置換後の文字
    replacement = "フルーツ"
    
    '置換実行
    For i = LBound(findList) To UBound(findList)
        replaceData.Replace What:=findList(i), replacement:=replacement, LookAt:=xlPart, MatchCase:=False
    Next i
End Sub

 

マクロ実行前


 

マクロ実行後

「Array」で指定した文字がある場合、「フルーツ」に置換します。


 
 

Replace関数(特定文字を削除)

以下のマクロを実行すると、特定範囲内にある指定文字を一括削除します。


Sub 特定文字を一括削除()
 Range("A1:B10").Replace "ジュース", ""
End Sub

 

マクロ実行前


 

マクロ実行後

「ジュース」を空白に置換します。


 
 

Replace関数(半角スペース削除)

以下のマクロを実行すると、範囲内にある不要な半角スペースを削除します。


Sub 半角スペースを一括削除()
    Range("A1:B10").Replace " ", ""
End Sub

 

マクロ実行前

連続したスペースは入れていません。


 

マクロ実行後

半角スペースを置換で削除します。


 
 

Replace関数(全角スペース削除)

以下のマクロを実行すると、範囲内にある不要な全角スペースを削除します。


Sub 全角スペースを一括削除()
 Range("A1:B10").Replace " ", ""
End Sub

 

マクロ実行前

連続したスペースは入れていません。


 

マクロ実行後

全角スペースを一括削除します。


 
 

Replace関数(全角スペース削除・半角スペース削除)

以下のマクロを実行すると、範囲内にある不要なスペースを削除します。


Sub スペースを一括削除()
    Range("A1:B10").Replace " ", ""
    Range("A1:B10").Replace " ", ""
End Sub

 

マクロ実行前

連続したスペースは入れていません。


 

マクロ実行後

全角スペースと半角スペースを一括削除します。


 
 

Replace関数(連続した全角半角スペース削除)

以下のマクロを実行すると、範囲内にある不要なスペースを削除します。


Sub 連続した全角半角スペースを削除()
    Dim rangeToReplace As Range
    Dim cell As Range
    
    ' 置換対象のテキスト範囲を指定
    Set rangeToReplace = Range("A2:B10")
    
    ' 空白文字を削除
    For Each cell In rangeToReplace
        cell.Value = Replace(cell.Value, " ", "")
        cell.Value = Replace(cell.Value, " ", "")
    Next cell
End Sub

 

マクロ実行前

連続した全角半角スペースが入っているパターン


 

マクロ実行後

スペースを一括削除します。


 
 

Replace関数(改行コードを置換)

以下のマクロを実行すると、改行コードをまとめて置換します。


Sub 改行コードを置換()
    Dim i As Long

    For i = 1 To 5
        Cells(i, 2) = Replace(Cells(i, 1).Value, vbLf, "")
    Next i
End Sub

 

マクロ実行前


 

マクロ実行後

A列のセル内にある改行コードを置換した結果を、B列に出力します。


 
 

Replace関数(5桁の数字の末尾を0へ置換)

以下のマクロを実行すると、数値の一部を置換します。


Sub 数字の一部を置換()
    Dim cell As Range
    Dim originalValue As String
    Dim replacedValue As String
    
    ' A列の各セルをループ
    For Each cell In Range("A1:A5")
    
        ' セルの値を文字列として取得
        originalValue = CStr(cell.Value)
        
        ' セルの値が5桁の数字である場合のみ処理を行う
        If Len(originalValue) = 5 And IsNumeric(originalValue) Then
            ' 末尾を0に置換した値を作成
            replacedValue = Left(originalValue, 4) & "0"
            
            ' セルの値を置換した値に更新
            cell.Value = replacedValue
        End If
    Next cell
    
End Sub

 

マクロ実行前


 

マクロ実行後

5桁の数字の末尾を 0に置き換えます。


 
 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】VLOOKUP関数でセル値取得:使用例5選
...

 

「ExcelVBA自動化のすべて ~35の事例で課題解決力を身につける~」
業務改善コンサルタントが教える ビジネスの現場で役立つExcelVBAの知識を解説
基本的な解決法と、応用例も紹介しています!