- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel webクエリ データ抽出に時間がかかる)
Excel webクエリ データ抽出に時間がかかる
このQ&Aのポイント
- エクセルのwebクエリを使ってヤフーファイナンスよりデータをダウンロード
- 実行から完了まで1秒ほどかかる
- 全銘柄で実行すると時間がかかりすぎる
- みんなの回答 (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 とだけ実行する といった方策で,もしかするとちょびっとほどですが改善しないかやってみるぐらいかなと思います。
お礼
お早いご回答本当にありがとうございます。 さっそく試してみましたが、確かに少し早いようですがやはり劇的には変わらないようですね(^^; このようなやり方があることがわかり、とても勉強になりました。ありがとうございました。 3000ほどある銘柄についてすべてクエリを植えるので、一度植えたクエリをその都度削除していかないとどんどん動きが重くなっていってしまうんです。 質問事項と方向が少々変わってしまいますが、ウェブページから取得した情報をエクセルwebクエリのようにシート上に表示はせず、バックグラウンドで取得・計算するようなことはできないでしょうか。検索をかけてみましたがなかなか見つけられませんでした。 もしもわかりますようでしたら何かキーワードを教えていただけないでしょうか。 どうぞよろしくお願いします。