
EXCELのwebクエリについての質問です。
よろしくお願いします。
webサイトにあるデータをエクセルに自動で取り込みたいのですが、
そのサイトが、データ100件毎にページを増やしていく仕様なので50ページあったら50回
も手動でデータを取りにいかないといけません。なんとかして自動にしたいのですが・・・
そのサイトはhttp://○×○×.com/page=1/のように"page="に数値を入れれば良いのでエクセルでなんとかなりそうかなと思い質問しました。
ウェブクエリ取得をマクロで記録してみました。
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://○×○×.com/page=1", Destination _
:=Range("$A$1"))
.Name = "page=1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "2"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
この中で、
1."page=1"を連番で連続取得したい。(総ページ数は人的に確認して、どこかに入力できればいいです)
2.エクセルに1つの表にしたいので:=Range("$A$1")だと上書きしていってしまのでどうにかしたい。
3..Name = "page=1"も連番で増やしていきたい。
こんなことは可能でしょうか。
VBAは初心者以下です。
どなたかお助けください。
No.1ベストアンサー
- 回答日時:
こんな感じでどうでしょうか。
動作は未確認です。
A2にページ数を入れてください。
A5以下、120行毎に書き出すようにしてみました。
Dim i As Long
Dim n As Integer
n = Range("A2").Value
For i = 1 To n
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://○×○×.com/page=" & i, Destination _
:=Range("$A$5").Offset(120 * (i - 1))
.Name = "page=" & i
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "2"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Next i
エラーが出るなら、その内容と、コードのどの行で発生するのか
あるいは、求める結果とどう違うのか
不具合内容を、詳しく、解るように、補足してください。
さっそくのご回答ありがとうございます!!!
最初は構文エラーで止まってしまいましたが、括弧が一つ足りないことに気づいて修正させて頂いたところ、ちゃんと動作しました!
本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
エクセル 日付順に並べてかえた...
-
大学のレポート A4で1枚レポー...
-
【Excel VBA】PDFを作成して,...
-
outlookのメールが固まってしま...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセル 同じ数字を他の列に自...
-
Office2021を別のPCにインスト...
-
マクロ自動コピペ 貼り付ける場...
-
Office 2021 Professional Plus...
-
パソコンWindows11 Office2021...
-
office2019 のoutlookは2025年1...
-
エクセルやパワポファイルの保...
-
Teams内でショートカットって貼...
-
Microsoft365、ページ設定がで...
-
Microsoft365
-
別シートの年間行事表をカレン...
-
エクセルで質問です。 ハイパー...
-
役所でもらった書類をエクセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
パソコンWindows11 Office2021...
-
libreoffice calcで行を挿入し...
-
エクセルで質問です。 ハイパー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
Microsoft Formsでクイズの解答...
-
マクロ自動コピペ 貼り付ける場...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセルで特定のセルの値を別...
-
Officeを開くたびの「再起動メ...
-
office2019 のoutlookは2025年1...
おすすめ情報