3

たくさんのマクロが入ったExcelワークブックがあります。

Excelアプリを持っている場合。完全に閉じて、開くと、正常に動作します。

ただし、ブックを閉じて(Excelアプリを閉じずに)、もう一度開くと、開くとき、およびブック内のすべての異なるマクロを実行しているときに、大きな遅延が発生します。

私は最初にもバックグラウンドでも何も実行していません。実際、このワークブックのWorkbook_Openルーチンにフラグを付けました。このポイント(workbook_openイベント)に到達するには、20秒以上かかります。そして、マクロはまだ実行されていません!

要約すると、最初から開いた場合(Excelアプリが実行されていない場合)、ブックを開いて準備ができるまで2〜3秒かかります。すべてが高速に実行されます(マクロなど)...

次に、ブックを閉じます...(Excelが既に実行されている間に)再度開いた場合、15〜50秒かかります。基本的に、作業中(マクロの実行など)は10倍長くかかります

Excelアプリを閉じると。完全に開いてもう一度開くと、再びうまく動作します(初めて)

おそらくワークブックには記憶に影響を与える何かがあり、2回目に開いたときに影響を及ぼしているのではないかと思います...しかし、私にはわかりません、それは単なる推測です...

誰かがこれを経験しましたか?

4

1 に答える 1

3

ありがとうJook...あなたは私を正しい軌道に乗せてくれました、そして私は問題を修正しました...

あなたが言ったように私は「メモリリーク」に基づいてグーグル検索をしました、そしてその重要性についてアドバイスするいくつかのリンクを見つけました set xxx=nothing

私はそれがそれほど問題であるとは思わなかったし、それがそのような遅延を引き起こす可能性があるとは思っていなかった(実際、私は他のマクロ/ワークブックをたくさん持っていて、この問題を抱えたことはなかった)

信じられないほどそれはそれでした、行方不明set xxxx=nothing

workbook_openイベントで実行されるすべてのコードを調べました。set xxx = nothingがすべてに設定されていることを確認しました(2つが欠落していることがわかりました)

プログラムが正しく動作する(初めて開いた)ことには影響しませんでしたが、プログラムを閉じて再度開くと、問題が発生しました。変。

しかし、あなたのおかげで修正されました!

この投稿が将来誰かに役立つことを願っています

于 2012-11-09T16:40:52.247 に答える