0

我编写了一个脚本,它使用查询表将来自雅虎财务的数据下载到 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
4

1 回答 1

1

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

当您收到错误时,进入即时窗口 (Ctl+G) 并键入

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

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

于 2012-10-22T14:29:35.693 回答