• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL 外部データの取り込みからのページ取得(VBA))

EXCEL外部データの取り込み(VBA)方法と注意点

このQ&Aのポイント
  • EXCELから簡易データ取得を行う方法について説明します。VBAを使用して複数のページデータを取得し、それをシートに貼り付ける方法も紹介します。
  • EXCELのVBAを使用して外部のページデータを取得する方法について詳しくご説明します。具体的には、URLが可変する場合の対応方法や、取得データの整形についても解説します。
  • EXCELのVBAを使って外部のページデータを取得し、シートに貼り付ける方法について説明します。A列や上部の行を削除する場合の記述方法もご紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

> Sheets("SHEET" & Num).Activate > のところでデバックが発生してしまいまして・・ SHEET1~SHEET100というシートはあらかじめ作っているわけではないのでしょうか。 それなら、以下のマクロを貼り付けて、1回実行してください。 URL1~URL100というシートが自動的に作成されます。(SHEET1とすると既存のシート名とかぶったときにエラーになったのでシート名を変えました) Sub AddSheets()   Dim i As Integer   Worksheets.Add Count:=100   For i = 1 To 100     Sheets(i).Name = URL" & i   Next i End Sub なお、シート名を変えたので、先の回答の Sheets("SHEET" & Num).Activate という箇所を Sheets("URL" & Num).Activate に変更してください。

nao820526
質問者

お礼

おおおおおお!!!! なんとかいけそうです。 収集しているものが001~100までだったり 1~150がなく237~とかいうページもあったりで シートを最初から作っていない感じでした。 またわからなければ質問致します! 丁寧なご回答ありがとうございました!!

その他の回答 (2)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

No.1です。すみません、ケアレスミスがありました。 Format(Num, "000") & ".htm" でなくて Format(Num, "000") & ".html" でした。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

お書きになったVBAを標準モジュールに記述し、引数でシート番号を指定してForループで001~100までを処理したらいいのではないでしょうか。 質問文のプロシージャ名を仮にGetURLとすると、 Sub GetURL(Num As Integer) と定義し、 "URL;​http://hogehoge.com/0000001.htm" の部分(なんか文字化けしてますね)を、 "URL;​http://hogehoge.com/0000" & Format(Num, "000") & ".htm" と修正すると、以下のマクロで1~100まで処理できると思います。 Sub GetAllURL() Dim Num As Integer For Num = 1 To 100 Sheets("SHEET" & Num).Activate GetURL (Num) Next Num End Sub 質問の意味を誤解していたらすみません。

nao820526
質問者

お礼

ご解答ありがとうございます。 お礼が遅くなってしまい申し訳ございません。 しばらくやってみたのですが;;; Sheets("SHEET" & Num).Activate のところでデバックが発生してしまいまして・・ Sub GetURL(Num As Integer) With ActiveSheet.QueryTables.Add(Connection:=URL;​http://hogehoge.com/0000"​ & Format(Num, "000") & ".htm",​ _ Destination:=Range("A1")) 中略 Range("A1").Select End Sub Sub GetAllURL() Dim Num As Integer For Num = 1 To 100 Sheets("SHEET" & Num).Activate GetURL (Num) Next Num End Sub ↑でいけるものなのでしょうか?

nao820526
質問者

補足

やはり文字化けしてしまいますね(^^;

関連するQ&A