CoCoのYDブログ

心に思い浮かんだことを少し掘り下げ発信します

【VBA】文字の置き換え

こんにちは

今日は文字の置き換えです。

 

文字の置き換えにはReplace関数を使用します。

Replace(対象の文字列,検索する文字,置き換える文字)

のように書いていきます。

 

サンプルプログラム

Sub test()
    Dim 文字列 As String
    文字列 = "abc"
    MsgBox Replace(文字列, "c", "d")
End Sub

 

ちなみに文字列に置き換えるべき文字がない場合でもエラーにはなりません。

安心して使えますねw

 

では少し変更してこんなのはどうでしょうか?

Sub test()
    Dim セル, A As Range

    Set セル = Cells.Find(what:="*")
    Set A = セル
    If セル Is Nothing Then
        Exit Sub
    Else
        Do
            セル.Value = Replace(セル, "A", "C")
            Set セル = Cells.FindNext(セル)
        Loop Until A.Address = セル.Address
    End If
End Sub

 これはすべてのセルを見てAが含まれていればCに変更するといったものです。

これはセル全体に指定していますが、範囲を指定することも可能です。