我有一个包含很多宏的excel工作簿。
如果我有Excel App。完全关闭,我打开它,它运行得很好。
然而,如果我关闭工作簿(没有关闭excel应用程序),然后再次打开它,在打开它时,以及运行其中所有不同的宏时,都会有很大的延迟。
我没有在开始或背景上运行的任何东西。实际上,我已经在thisworkbook Workbook_Open例程中设置了一个标记...仅仅到达这一点(workbook_open事件)就需要超过20秒!而且还没有运行任何宏!
因此,总而言之,如果从头开始打开(excel应用程序没有运行),工作簿打开并准备就绪需要2-3秒。一切都运行得很快(宏等)……
然后我合上工作簿。如果再次打开( Excel已在运行时),则需要15-50秒。基本上,工作中的任何事情(宏运行等)都需要x 10更长的时间
如果我关闭Excel应用程序。完全打开它,它再次运行良好(第一次)
我在想,也许工作簿有一些东西影响了记忆,第二次打开它就会影响它……但我不知道,这只是个猜测。
有没有人经历过这种情况?
发布于 2012-11-10 00:40:52
谢谢Jook...you,让我走上正轨,我解决了这个问题……
我在谷歌上搜索了一下你提到的“内存泄漏”,发现了一些关于set xxx=nothing重要性的链接
我不认为这是一个很大的问题,也从未想过它会导致这样的延迟(事实上,我有很多其他的宏/工作簿,从来没有遇到过这个问题)
令人难以置信的是,丢失了一个set xxxx=nothing
我看过了在workbook_open事件上运行的所有代码。我确保将set xxx=nothing设置为all (我发现缺少两个)
虽然它没有影响程序正常运行(第一次打开),但当关闭它并重新打开它时,它就会导致问题!真奇怪。
但多亏了你,它现在被修复了!
我希望这篇文章能在将来帮助其他人。
https://stackoverflow.com/questions/13310538
复制相似问题