Excel でセル内の文字列を置換する方法

Value プロパティで文字列取得→文字列を操作→Value プロパティに設定」という流れでやると、セル内のフォント情報が失われる。正解は Insert メソッド。

Sub ReplaceKeyword(ByVal oRange As Object, ByVal Keyword As String, ByVal Value As String)
    Dim Pos     As Integer
    
    Pos = InStr(oRange.Value, Keyword)
    Do While Pos > 0
        oRange.Characters(Pos, Len(Keyword)).Insert Value
        Pos = InStr(Pos + Len(Value), oRange.Value, Keyword)
    Loop
End Sub