我有一个包含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脚本停止了。我猜太多的计算正在进行,所以我的脚本只是超时了。
我该如何解决?