Excel VBA 文字列を置換する(Replace)

ExcelのVBAのReplace関数で、文字列を置換するサンプルです。

目次

サンプル Replace関数
  全ての文字を置換する
  一部文字を置換する
  文字列の中にある半角空白を取り除く
  指定した文字を削除する

Replace関数

Replace(1.文字列,2.置換前の文字,3.置換後の文字,[4.開始位置,[5.置換の回数,[6.比較の種類]])
  • 1つ目の文字列に対して、2つ目の引数の文にマッチした文字を、3つ目の引数の文字に置換えます。
  • 4つ目以降の引数は省略可能です。
  • 4.開始位置を省略した場合は1になります。
  • 5.置換の回数を省略した場合は、-1になります。-1はすべて置換します。
  • 以下は、MicrosoftのReplace関数のリンクです。
    https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/replace-function

全ての文字を置換する

Sub test1()

    Dim str1 As String
    str1 = "あああーあああ"
    
    Debug.Print Replace(str1, "あ", "A") 'AAAーAAA

End Sub

6行目のReplace関数は、2つめの文字を3つ目の文字で全て置き換えます。

 

一部の文字を置換する

Sub test1()

    Dim str1 As String
    str1 = "あああーあああ"
    
    Debug.Print Replace(str1, "あ", "A", 1, 2) 'AAあーあああ

End Sub

6行目のReplace関数は、5つめの引数で置換する回数を指定しています。
先頭から2回置換します。

 

文字列の中にある半角空白を取り除く

Sub test1()

    Dim str1 As String
    
    ' 半角空白あり(△あ△い△う△ +1△△)
    str1 = " あ い う +1  "
    
    Debug.Print Replace(str1, " ", "") 'あいう+1

End Sub

文字列の中にある半角空白を取り除くには、
置換前の文字を半角空白にして、置換後の文字を空文字にします。

 

指定した文字を削除する

Sub test1()

    Dim str1 As String
    str1 = "あいうえお"
    
    Debug.Print Replace(str1, "う", "") 'あいえお

End Sub

指定した文字を削除するには、
置換前の文字に削除する文字を指定して、置換後の文字を空文字にします。

関連の記事

Excel VBA 文字列を切り出す(Left/Mid/Right)

△上に戻る