我是VBA的新手,所以请跟我说。我有一个简单的电子表格,其中包含三个列,我分别使用了businessname,city和state(第1列,第2列和第3列),并使用它们调用WhitePages API来提取一些其他数据。
如果我对这些值进行硬编码就可以正常工作......
url = "http://api.whitepages.com/find_business/1.0/?businessname=ABBOTT LABORATORIES;city=NORTH CHICAGO;state=IL;api_key=key"
如果我使用Value2
作为商家名称,它也可以正常工作......
url = "http://api.whitepages.com/find_business/1.0/?businessname=" & cell.Value2 & ";city=NORTH CHICAGO;state=IL;api_key=key"
但是如果我在商业名称之后开始使用Value2
来完全失败。
url = "http://api.whitepages.com/find_business/1.0/?businessname= " & cell.Value2 & ";city=" & cell.Offset(0, 1).Value2 & ";state=" & cell.Offset(0, 2).Value2 & ";api_key=key"
当我MsgBox
所有三个值看起来都很好,所以我得到了正确的数据。
XMLImport
这基本上会返回,奇怪的是“成功”和“搜索没有返回结果。”
我错过了什么?我还试图实际更改活动单元格并以这种方式提取数据,而不是使用偏移量,但这也不起作用。
是否有偏移量的东西返回一个除了我可以使用的值以外的值?
即使是一种解决方法也会受到赞赏!
答案 0 :(得分:0)
您可以在之前将Value2转换为字符串:
CStr(cell.Offset(0,1).Value2)
CStr(cell.Offset(0,2).Value2)
和MsgBox这些字符串结果,知道返回的值是什么。
答案 1 :(得分:0)
试试这个
url = "http://api.whitepages.com/find_business/1.0/?businessname= " & Trim(cell.Value) & ";city=" & Trim(cell.Offset(0, 1).Value) & ";state=" & Trim(cell.Offset(0, 2).Value) & ";api_key=key"