Web将多个表分成一列

时间:2015-02-02 13:40:47

标签: excel vba excel-web-query

我已经制作了一个代码,该代码使用webquery从网站(多个页面)中循环下载数据。 一切都很棒,但不是在同一列中下载数据(" B2")如果要设置ActiveSheet.QueryTables(1),它会创建一个从B2开始但在下一个循环(下一个网页)上的表,它将覆盖先前从B2开始下载数据。

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

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

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

1 个答案:

答案 0 :(得分:0)

这个解决方案可能会解决您的问题(假设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.