cell.Offset(0,1).Value2返回不可用的值?

时间:2012-08-11 21:43:08

标签: excel vba excel-vba

我是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这基本上会返回,奇怪的是“成功”和“搜索没有返回结果。”

我错过了什么?我还试图实际更改活动单元格并以这种方式提取数据,而不是使用偏移量,但这也不起作用。

是否有偏移量的东西返回一个除了我可以使用的值以外的值?

即使是一种解决方法也会受到赞赏!

2 个答案:

答案 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"