2012-11-09 164 views
3

我有一个有很多宏的excel工作簿。第二次打开后Excel非常慢

如果我有Excel应用程序。完全关闭,我打开它,它运行良好。

但是,如果我关闭工作簿(不关闭excel应用程序),然后再次打开它,打开时会出现巨大的延迟,并且还会在运行所有不同的宏时出现延迟。

我在开始或背景上没有任何运行。实际上,我在Workbook_Open例程上放了一个标志.... 仅仅为了达到这一点(workbook_open事件)它需要20秒以上!并没有宏已经运行了!因此,总而言之,如果从头开始(Excel应用程序未运行),需要2-3秒才能打开并准备好工作簿。 一切运行速度很快(宏等)...

然后我关闭工作簿... 如果再次打开(而Excel已经运行)需要15-50秒。 基本上任何工作(宏运行等)需要x 10更长

如果我关闭Excel应用程序。完全再次打开它,它再次运行(第一次)

我想也许该工作簿有一些影响内存和第二次打开它影响它... 但我没有想法,这只是一个猜测...

有没有人遇到过这个?

+4

否则将很难没有你的工作簿或关于所使用的代码/插件/配置中的任何信息来解决。这是什么excel版本? – Jook

+0

我认为不提供工作簿/代码将是一个问题,但是工作簿是巨大的,并且与其他20多个工作簿相关联,所以它会很疯狂,应用程序根本无法工作,因为它需要大量安装。此外,它有50,000多行代码... – user1135218

+0

如前所述,缓慢发生在workbook_open事件发生(不运行宏)之前。它需要20秒钟才能到达第一行代码,因此它必须是Excel应用程序(或内存)中以前运行的“东西”? 我明白这是很难给出一个可能的解决方案,但我希望有同样的问题的人可能会分享一些光... – user1135218

回答

3

感谢Jook ......你给我在正确的轨道上,我解决了问题...

我做了基于“内存泄漏”正如你所提到,发现了一些链接,其职责有关谷歌搜索的set xxx=nothing

重要性,我不认为这是太大的问题,没想到它可能会导致这样的延误(其实我有很多其他的宏/工作簿,从来没有过这样的问题)

令人难以置信的是,这是它,一个缺少的set xxxx=nothing

我去了所有在workbook_open事件上运行的代码。 我确保设置xxx =什么都没有设置(我发现两个丢失)

虽然它并没有影响程序正常运行(第一次打开),当关闭它并重新打开它时,那就是它造成了一个问题!奇怪的。

但现在已经修好了,谢谢你!

我希望这篇文章可以帮助一个人在未来

+1

高兴地帮助:)很高兴分享您的解决方案! – Jook

相关问题