Mac查询表

时间:2012-10-22 12:37:37

标签: macos excel vba

我编写了一个脚本,使用querytable将数据从yahoo finance下载到excel中。它应循环遍历每个URL并下载数据,但它无法通过第二个循环并在.Refresh BackroundQuery失败:= False,错误代码为1004 - 发生了意外错误。

以下是代码:

rowOffset = 0
url = Worksheets("Yahoo codes").Range("b2").Offset(rowOffset, 0)

Do While url <> ""

With ActiveSheet.QueryTables.Add(Connection:="URL;" & url, Destination:=Worksheets("Yahoo Data").Range("A65536").End(xlUp).Offset(1, 0))
    .RefreshStyle = xlOverwriteCells
    .SaveData = True
    .BackgroundQuery = True
    .Refresh BackgroundQuery:=False


    '.Refresh

End With

rowOffset = rowOffset + 1
url = Worksheets("Yahoo Data").Range("a2").Offset(rowOffset, 0)
Loop

1 个答案:

答案 0 :(得分:1)

看起来你从B2获得了第一个URL,从A3获得了后续的URL ......

当你收到错误时,进入立即窗口(Ctl + G)并输入

?Worksheets("Yahoo Data").QueryTables(2).Connection

看看它是否正确。如果没有,我怀疑你的第二个url = ...陈述是错误的。