値を処理するときはValueを取得しておく

記事の本題とは関係ないんだけどメモ
不特定の位置にある不要な文字列の削除・変換 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を取得して変数に代入しておいた方がすっきり。