• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:突然マクロの動きが急に遅くなりました)

マクロの動きが急に遅くなった理由と解決方法

このQ&Aのポイント
  • 突然エクセルファイルのマクロの動きが遅くなりました。今まで10分前後で終わっていた処理が50分位掛るようになりました。
  • マクロの変更やアプリの追加はしていないが、ディスクのクリーンアップや最適化、Office365の更新、Windows Update、システムの復元を試しても改善されませんでした。
  • 問い合わせたMicrsoft社からは、マクロ使用の場合はサポートできないと言われました。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

>今まで10分前後で終わっていた処理が50分位掛るようになりました。 マクロの内容が分からないと何とも言えませんが、  ・手動計算にする  ・画面描画を無効にする  ・イベントを停止する などは行われていますか?(終わったら元に戻します) このようなことが起きたのときの原因として記憶にあるのは、  ・不特定のデータを対象としていて、データ量が急に増えた  ・年月日別のほぼシーケンシャルなファイルから年月別に抜き出すのに   データ単位に毎回1件目からサーチしていた  ・多量のデータをセルに書き出すのに、行・列の二重ループで書き出していた    (読み込みも二重ループ)  ・対象シートに多数の算式があった  ・マクロでセルに多量の値貼り付けをしていた  ・対象シートにリンク貼り付けがあった  ・対象シートに見えないオートシェイプがあり、これをコピーしていた    (発見時、数万個の見えない直線があり、突然おかしくなった)  ・VBAのユーザー定義関数を呼び出していないか(遅い関数がある)  ・自動計算のまま  ・画面描画が有効  ・イベントを停止していない   他は忘れました。 >今まで10分前後で終わっていた処理 過去、数千個の業務用マクロを作りましたが、10分かかるマクロは皆無です。よっぽど重いマクロでも、30秒で終わらなければ対策を試みていました。「10分前後で終わっていた処理」(どんなマクロか興味がありますが)が妥当か、改善できないかも問題です。5秒のマクロなら、5、6倍になってもあまり苦痛ではない? >マクロの変更やアプリの追加などは一切していません。 該当マクロを実行する前に別Bookを開いていないか。 Excel2010ですが、あるBook1を開いていて、2つ目のBook2のマクロを実行すると、Book1の属性(保護関係だったか?)で2つ目のBookのマクロが実行されたことがありました。 >ディスクのクリーンアップや最適化、Office365の更新、Windows Update、 >システムの復元も試しましたが駄目でした、 タスクマネージャーでどんなアプリが開いているか、スタートアップに変更がないかも調べたいです。また、Windowsの更新の後かどうかも気になります。最近更新が多く、おかしくなる事例もあるようです。 >Micrsoft社に問い合わせたらマクロ使用の場合はサポート出来ないと >言われました。 当然でしょう。 これを聞いていたら、ユーザーが作ったマクロの相談役になってしまいます。 当方、win10(直近 2019.10.7 の状態)、Excel2010です。ご参考に。

autumn1023
質問者

お礼

おっしゃられる通りかなり重いマクロになっています。 ただ、サクサク動いていたものですから困惑してしまいました(名前を変えて日付で保存していた過去のファイルも同様に遅くなりました) 拙い問いにご返答有り難う御座います、お教え頂いた事を確認してみます。

その他の回答 (3)

  • ken2438
  • ベストアンサー率0% (0/1)
回答No.4

nish6さんが結構詳しく回答してくれていますが、小生の経験から一言 もし、Excelそのものに問題があるとすると、データ領域が膨大になっているか、データの縦横が逆になっていることが考えられます。 1.まず、マクロで使用していないエリアを全て削除してみてください。 2.行方向に長いデータをマクロで縦方向に処理しているなど、行と列が入れ替わっていないか確認してみてください。

autumn1023
質問者

お礼

有り難う御座います、マクロの範囲はほぼ全域に及んでいます(A1~DH532)           行と列の入れ替えはしていません

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.2

その症状であれば「CPU・メモリ・ディスク」のどこかに問題があるのでしょう。 タスクマネージャーを立ち上げパフォーマンスのタブを開いてください。 マクロを実行して、タスクマネージャーを観察してください。「CPU・メモリ・ディスク」のどれかの使用率が跳ね上がる可能性が高いと思います。 次にプロセスのタブを開き、問題のあった項目でソートして再びマクロを実行して観察します。そうすることで原因が特定できるでしょう。 例 ・他のプロセスのCPU使用率が高いものがある→そのプロセスを停止 ・他のプロセスのメモリ使用率が高いものがある→そのプロセスを停止 ・マクロのディスクの使用率が異様に高い→HDDの不具合かも。HDDの交換もしくはPCの買い替え

autumn1023
質問者

お礼

有り難う御座います、タスクマネージャーで確認してみます

  • okwavey3
  • ベストアンサー率19% (147/761)
回答No.1

>Micrsoft社に問い合わせたらマクロ使用の場合はサポート出来ないと言われました。 この理由は、どんなマクロかわからないし、それを正しくあなたが伝えられると思わないからです。 質問でも同様の状況となっておりますが、正しく伝えられるのであれば、伝えて下さい。

autumn1023
質問者

お礼

拙い問いにご返答有り難う御座います Micrsoft社にもう一度話してみます