每个循环包含不同值的变量
问题描述:
我想从互联网上下载价格。当我将symb
定义为常数值(例如K15)时,该概念起作用。但现在,我想从不同的链接下载数据,其中symb
部分根据电子表格中单元格G13到G22的值而变化。 (换句话说,我想通过从G13到G22的每一行 - 每个包含symb
的不同值 - 并从相应链接下载数据)。每个循环包含不同值的变量
我试图与一个简单的循环,定义变量symb
在循环中的每一个:
For i = 1 To 10
Symb = Worksheets("Futures").Range("G12").Offset(i, 0).Value
Set qt = querysheet.QueryTables.Add(_
Connection:="URL;" & "http://download.finance.yahoo.com/d/quotes.csv?s=" & Symb & ".cbt&f=sl1d1t1c1ohgv&e=.csv", _
Destination:=querysheet.Cells(5 + i, 1))
Next i
显然,它不喜欢这个工作。我认为不可能在循环中定义一个变量,是吗?有人能给我一个提示,我怎么能做到这一点?
答
你的连接字符串有一些东西。当我在URL字符串中删除.cbt
时,它可以工作。或者,您可能忘记了包含一些字母,因此请在浏览器中进行调试,并确保Connection字符串正确,并且它应该可以正常工作。
您可能还需要修改的目的,像这样,并刷新表:
Set qt = querySheet.QueryTables.Add(_
Connection:="URL;" & "http://download.finance.yahoo.com/d/quotes.csv?s=" & Symb & "&f=sl1d1t1c1ohgv&e=.csv", _
Destination:=querySheet.Cells(5, 1))
qt.Refresh
答
,你可以使用一个数组这样
symb(1 to 10) as String
for i=1 to 10
symb(i)=cells(i,1)
next i
这都不明显,它没有按”像这样工作。 “这不起作用”是什么意思?你有错误吗?如果是这样,哪一行会引发错误,错误消息是什么意思?如果没有错误,请描述观察结果与预期结果的差异。 – 2015-04-01 21:27:35
您可能想简单地做:'Destination:= querySheet.Cells(5,1))',因为添加每个qt都会自动插入列。 – 2015-04-01 21:29:24
感谢您的回复! VBA不显示错误消息,但我得到的结果只是“.cbt,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N /一个”。之前,当我刚刚拥有一个恒定的symb值时,我收到了类似“CK15.cbt,376.25,”3/31/2015“,”2:09 pm“, - 18.25,394.00,398.50,375.75,302825” – StefanW 2015-04-01 21:36:50