Web查询多个表到一列

Webqueries multiple tables into one column

我编写了一个代码,使用 webquery 从网站(多个页面)循环下载数据。 一切都很好,但如果设置 ActiveSheet.QueryTables(1),它不会在同一列 ("B2") 中下载数据,而是从 B2 开始创建一个 table,但在下一个循环(下一个网页)中,它将覆盖先前下载的数据再次从 B2 开始。

它必须将下一个网页数据添加到工作表中的另一个单元格范围(同一列中 B2 向下 100 个单元格),但即使我更改了范围,数据也会下载到相同的位置。

如果要在 ActiveSheet.QueryTables(i) 中更改 i,它会在不同的列(不在同一列)中创建多个 table。

With ActiveSheet.QueryTables(i)
    .Connection = "URL;" & page
    .Destination = Range(Cells(n + 1, 2), Cells(n + 100, 2))
    .Refresh
End With
i = i + 1

这个解决方案可能会解决您的问题(假设 n 以 1 开头):

.Destination = Range(Cells((n-1)*100 + 2, 2), Cells((n * 100) + 1, 2))

顺便说一句,您更需要的 .Destination 值是这一行:

.Destination = Cells((n-1)*100 + 2, 2)

this MSDN Reference for .Destination property.