0

webquery を使用して Web サイト (複数のページ) からデータをループでダウンロードするコードを作成しました。すべてが素晴らしいですが、同じ列 (「B2」) にデータをダウンロードする代わりに、設定ActiveSheet.QueryTables(1)すると B2 から始まる 1 つのテーブルが作成されますが、次のループ (次の Web ページ) で、以前にダウンロードされたデータが B2 から再び上書きされます。

次の Web ページ データを別のセル範囲 (同じ列の 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
4

1 に答える 1

0

おそらく、この解決策はあなたの問題を解決するでしょう (n が 1 から始まると仮定します):

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

ところで、値として必要なの.Destinationは次の行です。

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

プロパティについては、この MSDN リファレンスを参照してください。.Destination

于 2015-02-02T13:54:37.340 に答える