包含每个循环的不同值的变量

时间:2015-04-01 21:22:25

标签: excel vba loops variables

我想从互联网上下载价格。当我将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

显然,它不会像这样工作。我假设不可能在循环中定义变量,是吗?有人可以给我一个提示,告诉我如何做到这一点吗?

2 个答案:

答案 0 :(得分:0)

您的连接字符串有些问题。当我删除URL字符串中的.cbt时,它可以正常工作。或者,您可能忘记包含一些字母,因此在浏览器中对其进行调试并获取正确的连接字符串,它应该可以正常工作。

您可能还想修改目标,并刷新表格:

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

答案 1 :(得分:0)

你可以使用像这样的数组

    symb(1 to 10) as String
    for i=1 to 10 
        symb(i)=cells(i,1)
    next i