• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel webクエリ データ抽出に時間がかかる)

Excel webクエリ データ抽出に時間がかかる

このQ&Aのポイント
  • エクセルのwebクエリを使ってヤフーファイナンスよりデータをダウンロード
  • 実行から完了まで1秒ほどかかる
  • 全銘柄で実行すると時間がかかりすぎる

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

基本的なところは押さえてあるマクロになってますから,単純にその程度のレスポンスだと思います。 敢えて言えば,「毎回クエリを植えて削除して」を繰り返すんじゃなく, 1.今のマクロを次のようにして,必要な銘柄のクエリを一渡りブックに埋める Sub データ抽出() With Worksheets("test") With .QueryTables.Add(Connection:="URL;http://stocks.finance.yahoo.co.jp/stocks/history/?code=1301.T", Destination:=Range("$A$1")) .WebSelectionType = xlSpecifiedTables .WebTables = "2" .Refresh BackgroundQuery:=true End With End With End Sub 2.必要な数のWEBクエリを植え終わったら,あとは sub データ更新() activeworkbook.refreshall end sub とだけ実行する といった方策で,もしかするとちょびっとほどですが改善しないかやってみるぐらいかなと思います。

akki_swd
質問者

お礼

お早いご回答本当にありがとうございます。 さっそく試してみましたが、確かに少し早いようですがやはり劇的には変わらないようですね(^^; このようなやり方があることがわかり、とても勉強になりました。ありがとうございました。 3000ほどある銘柄についてすべてクエリを植えるので、一度植えたクエリをその都度削除していかないとどんどん動きが重くなっていってしまうんです。 質問事項と方向が少々変わってしまいますが、ウェブページから取得した情報をエクセルwebクエリのようにシート上に表示はせず、バックグラウンドで取得・計算するようなことはできないでしょうか。検索をかけてみましたがなかなか見つけられませんでした。 もしもわかりますようでしたら何かキーワードを教えていただけないでしょうか。 どうぞよろしくお願いします。

関連するQ&A

専門家に質問してみよう