記事の本題とは関係ないんだけどメモ
不特定の位置にある不要な文字列の削除・変換 in microsoft.public.jp.excel
http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.jp.excel&tid=9bd74f7b-df84-472e-8880-b92e1d9e9c16&cat=ja_JP_3a41dfc2-09ca-47f8-a3b5-5be344b9b3da&lang=ja&cr=JP&p=1
Function MultiSubstitute(ByVal x As String, ByVal a As Variant)
If TypeOf a Is Range Then
a = a.Value
End If
Dim i As Long
For i = LBound(a) To UBound(a)
x = Replace(x, a(i, 1), a(i, 2))
Next
MultiSubstitute = x
End Function
つい、自分はRangeオブジェクトのまま処理してしまうんだけど、赤字部分のように、事前にValueを取得して変数に代入しておいた方がすっきり。