Excel は 32bit 版でしょうか。
こんな感じにすると、期待通りに動くと思います。
' こんな関数を定義する Private Function EncodeURL(ByVal str As String) As String Dim objSC As Object Set objSC = CreateObject("ScriptControl") objSC.Language = "Jscript" EncodeURL = objSC.CodeObject.encodeURIComponent(str) Set objSC = Nothing End Function Sub Hoge() i = 2 Do Until Range("B" & i) = "" Range("B" & i).Select ' ActiveCell.Value を EncodeURL 関数で変換する CreateObject("Wscript.Shell").Run "http://auctions.search.yahoo.co.jp/search?ei=UTF-8&p=" & _ EncodeURL(ActiveCell.Value), 1 ' ↑見切れちゃうので、複数行にしましたが、一行にしても大丈夫です i = i + 1 Loop End Sub