最近極端にvbaを組み込んだexcelファイル動きが重く、edit時のカーソルすら満足な動きができなくなっており、VBAによるwebクエリ方法の誤りによるものではないかと、悩んでいます。
かなり以前から株式データを外部サイトからwebクエリで取り込んで分析処理をしているのですがデータ取り込み量が多く、ファイルサイズが一時期は50メガbyteを超える状況になり、ファイルを開く際に時間がかかるので最近は20メガbyte程度まで削減していました。
動きは遅いもののなんとか利用に耐えられるぐらいだったのですが数日前にpcを変更(win7のlaptopからwin10のDesktopへ変更)してからはカーソルを1マス動かすのに0コンマ数秒程度かかるようになり非常に困っています。
*win10のdesktopはlaptopよりもcpuスペックが高く、メモリーも16ギガ実装しています。
*excelのバージョンは2010です。
vbaは独学で学んだ素人なので自分ではwebクエリの方法に誤りがあり、不要なゴミのようなものがたまって重くなっているのではないか?と想像しています。
以下のコーディング実行を繰り返すと上記のような不具合が出る可能性はあるでしょうか?
また、そうだとするとどこを改善すればよいかをご教示いただけないでしょうか?
<webクエリ コーディング>
With ActiveSheet.QueryTables.Add(Connection:=URL, Destination:=Cells(lastrow, 2))
.Name = "?code=998407.O&sy=2010&sm=11&sd=20&ey=2014&em=12&ed=20&tm=d&p=2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
お手数ですがよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
Webクエリは、ワークシート上に、オブジェクトを置いたままになっていますが、Win7 からWin10 に上げたことの問題のほうが大きいはずです。
Win10 のIEは、重いのです。
>株式データを外部サイトからwebクエリで取り込んで
ふつうは、Webクエリでは撮れないことが多いです。
ここで、そのコツを書きましたので、一度読んでいただけるとよいです。実際、手間もかかります。
商品ページの項目をエクセルに自動入力
http://oshiete.goo.ne.jp/qa/9419034.html
#2
このようなものもありますが、
http://happy.kabu-web.net/kabu_tool_3.html
やはり、今は、
Googleスプレッドシートが有効かもしれません。
いろいろ探してみてください。
http://kablog.doorblog.jp/archives/33496669.html
丁寧なご回答、ご解説ありがとうございます。
紹介いただいたサイトには私が知りたい情報が満載で、貴重なアドバイスになりました。特にexcelでieを制御するための解説本は参考になりそうなので早速購入しました。
ありがとうございました。
No.2
- 回答日時:
>excelでieを制御するための解説本は参考になりそうなので早速購入しました。
行動が素早いですね。ご自分でやったほうが楽しいですからね。
『Excel VBAでIEを思いのままに操作できるプログラミング術』
(インプレス刊)
このシリーズのものでしょうか?今のところ、これぐらいしかありませんから。
私は、購入しそびれてしまいました。いつの間にか覚えたテクニックが正しいかどうかは別としても、それで今の私は、だいたい、自分できます。でも、公開しずらいものもあります。
それは、利殖に絡むものです。
後、もうひとつの突破口は、seleniumVBAというものがあります。いわゆるブラウザとVBAのインターフェイスです。
>『Excel VBAでIEを思いのままに操作できるプログラミング術』
→ そのとおりです。
しばらくは、眠れない日々が続きそうですが頑張って勉強してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) EXCEL関数(数式)を教えてください 2 2022/06/08 18:32
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
ACCESS テーブル内の列...
-
Accessで複数(200件程)の置換
-
EXCELの外部データ取得ができない
-
ACCESSで追加クエリを連続実行...
-
AccessでSQL結果を直接csvに書...
-
アクセスで空白がグループ化さ...
-
yes/no型のチェックができない...
-
Access2000で抽出したデータに...
-
Access 複数のクエリの結果を...
-
複数クエリのデータをまとめる...
-
DoCmd.RunSQL "DROP Query
-
ACCESSでメッセージにクエリ結...
-
クエリ上でのデータ更新
-
Access 0で除算(並べ替...
-
Excel Powerクエリーの質問。あ...
-
Accessのエラーについてです。
-
Access 特定の条件下で、メッ...
-
Accessでユニオンクエリを作成...
-
access追加クエリ実行時の重複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
yes/no型のチェックができない...
-
Access 複数のクエリの結果を...
-
AccessでSQL結果を直接csvに書...
-
access追加クエリ実行時の重複...
-
ACCESSのフィールドの表示順が...
-
アクセスで空白がグループ化さ...
-
ログイン画面後のページの表取...
-
Accessのエラーについてです。
-
Accessで複数(200件程)の置換
-
Accessで進行状況インジケータ...
-
Accessでユニオンクエリを作成...
-
ACCESSでメッセージにクエリ結...
-
ACCESS テーブル内の列...
-
【Access2003 VBA】クエリをエ...
-
アクセス ADO レコードの件数...
-
Access2000で抽出したデータに...
-
Me.FilterOn = True は先でも後で
-
レコード件数をファイル名にし...
おすすめ情報