如何使ExcelX中的FilterXML(WebService())更快?

时间:2018-06-18 17:46:53

标签: excel vba excel-vba

我有一个包含40933行的电子表格,我想使用FilterXML(WebService())工作表函数从网站中提取所有40933行的数据。我目前的代码是:

For i = 1 To 40933

    latitude = fileActive.Worksheets("us_postal_codes").Cells(i, 6).Value
    longitude = fileActive.Worksheets("us_postal_codes").Cells(i, 7).Value

    xlmPath = "https://forecast.weather.gov/MapClick.php?lat=" & latitude & "&lon=" & longitude & "&unit=0&lg=english&FcstType=dwml"

    fileActive.Worksheets("us_postal_codes").Cells(i, 10).Value = _
    WorksheetFunction.FilterXML(WorksheetFunction.WebService(xlmPath), "//temperature[1]/value[1]")

Next i

几个问题:

1)这段代码非常慢。我试图从1到10,可能需要一分钟或2分钟。

2)如果我尝试一次做太多,会弹出一个错误,说明"运行时错误' 1004'。无法获取WorkSheet函数类的WebService属性"我的VBA脚本停止了。我猜太多的计算正在进行,所以我的脚本只是超时了。

我该如何解决?

0 个答案:

没有答案