VBA DoEvents |如何以及何时使用DoEvents函数?

Excel VBA DoEvents函数

在...的帮助下 VBA DoEvents,我们可以使代码在后台运行,并同时允许我们与excel和其他应用程序软件一起使用。 DoEvents不仅允许我们与其他软件一起使用,而且还可以中断代码的运行。

DoEvents函数将控制权传递给我们正在使用的计算机的操作系统。

如何使用DoEvents函数?

当需求很大时,需要大量的VBA代码。在这种情况下,excel会挂起并停止一段时间,甚至有时会变得无响应。

您可以在此处下载此VBA DoEvents Excel模板– VBA DoEvents Excel模板

例如,请看下面的代码。

代码:

 Sub DoEvents_Example1()调暗i只要i = 1至100000 Range(“ A1”)。Value = i Next i End Sub 

上面的代码将插入从1到100000的序列号。执行该任务将很容易超过一分钟。在执行过程中,excel会挂起相当长的时间来完成任务。在此期间,excel将显示消息为“ Excel Not Responding”。

此外,我们无法访问正在处理的工作表。这是一件令人沮丧的事情,那么当代码在屏幕后面运行时,我们如何使excel工作表可以使用。

这可以通过添加VBA来实现 DoEvents函数.

代码:

 Sub DoEvents_Example1()调暗i只要i = 1到100000 Range(“ A1”)。Value = i DoEvents下一个i End Sub 

在代码中添加函数DoEvents的那一刻,我们可以访问Excel工作表。

从上面我们可以看到代码正在运行,但是我们可以访问工作表。

中断代码运行

当代码在屏幕后面运行时,我们可以添加行,列并删除它们,我们可以重命名工作表,我们还可以做很多其他事情。添加DoEvents的那一刻,它使vba代码快速运行,并使我们无法相信所提到的任务本身就是在运行。

  • DoEvents函数的危险之一是当我们切换工作表或工作簿时,它会覆盖活动工作表的值。
  • 另一个危险是,如果我们在单元格中输入任何值,代码执行就会暂停,甚至不会通知我们。
笔记:尽管DoEvents有上述危险,但它仍然是一个方便的功能。当我们尝试修复所编写代码的错误时,可以在调试过程中使用DoEvents。