即使代码运行正常,为什么VBA会说“(Not Responding)”?

我遇到了许多不同的VBA程序这个问题,所以我想我可能会在Excel或VBA编辑器中有一些不正确的设置。 老实说,我经常在网上search很多东西。

基本上,我将运行一段普通的代码,应用程序(包括Excel和VBA编辑器)将进入(Not Responding)模式。 但是代码运行良好。 一旦代码完成,应用程序将不再处于非响应模式,一切恢复正常

真的有点令人沮丧的用户谁认为是错误的时候,真的只是需要一段时间来运行代码。

任何帮助将是伟大的! 谢谢!

尝试在您的代码中放入DoEvents语句,以便在漫长的过程中经常执行DoEvents 。 请参阅http://support.microsoft.com/kb/118468/en-us

这将把控制权交还给操作系统,这样操作系统就可以在你的程序运行的时候做它需要做的事情,这样可以防止操作系统认为你的程序没有响应。

基本上,我将运行一段普通的代码,应用程序(包括Excel和VBA编辑器)将进入(Not Responding)模式。 但是代码运行良好。 一旦代码完成,应用程序将不再处于非响应模式,一切恢复正常

用户界面没有响应,因为您正在做一堆响应UI事件的处理。

如果这是你和你的用户可以接受的,一切都很好。 如果没有,请考虑在后台线程上完成这项工作。