2011-06-30 62 views
1

当我执行我的宏时,出现“内存不足”消息。发布时间太长,但有提示可以更好地控制Excel 2007中的内存使用情况吗?摆脱物体或类似的东西。我不知道该怎么做。excel vba内存使用优化

最好,U

+1

没有代码,很难理解为什么会这样。一般来说,不要在内存对象中使用大量的释放变量。是否存在发生此错误的特定行? – shahkalpesh

+0

它在完成后发生。基本上我有很多子程序来格式化和填充工作表,这取决于我在用户表单中定义的条件。我在我的“main”子程序中调用所有这些子程序。 – user366121

回答

2

Excel对于这封邮件而言是臭名昭着的,而且很可能与您的电脑内存无关。我已经有一台顶级的电脑用100kb的excel程序展示了这个信息。关键是你的用户表单以及某些部分被调用的方式。最好的办法是运行你在用户表单中列出的每个事件,看看哪一个是罪魁祸首。 注意事项: 呼叫

userform1.show vbmodeless

所有的文本框后,和其它控制设置。

有时候会起作用。

2

...基本上我有很多子程序 的格式,并根据我在 用户窗体定义标准填充工作表 。

我同意@shahkalpesh的评论。但是,如果您正在寻找帮助查明问题的策略,则可以在从主例程中调用每个子例程并观察任务管理器中的excel内存后尝试添加消息框。

也许这将帮助你挑出有问题的代码。一旦找到,你可以在这里发布代码来解决你的问题。

+1

“放置消息框”或者,在调试模式下执行程序。 –

+0

@ Jean-FrançoisCorbett你有没有试过在几个子程序中遍历数千行代码?根据评论“太久无法发布”,我猜测“太久无法穿越”了。消息框可以帮助将问题指向特定的程序,而不必按F8键。可以在每个程序上设置断点......我只是*爱* messageboxes:P – ray

+0

答案是肯定的,我有。这是正确的,断点。然后无论你觉得什么功能键都是合适的。 –