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

Variable that contains different value for each loop

我想从网上下载价格。当我将 symb 定义为常数值(例如 K15)时,这个概念就起作用了。但是现在,我想从不同的 link 下载数据,其中 symb 部分根据电子表格中单元格 G13 到 G22 的值而变化。 (换句话说,我想遍历从 G13 到 G22 的每一行——每一行都包含 symb 的不同值——并从各自的 link 下载数据)。

我尝试用一​​个简单的循环,在每个循环中定义变量 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 时,它起作用了。或者,您可能忘记包含一些字母,因此请在您的浏览器中调试它并获得正确的连接字符串,它应该可以工作。

您可能还想像这样修改目标并刷新 table:

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