Excel VBA-在仍使用Excel和其他应用程序时延迟几秒钟

Excel VBA-在仍使用Excel和其他应用程序时延迟几秒钟,excel,vba,Excel,Vba,我用VBA for Excel编写化工厂模拟。我目前使用Application.OnTime方法延迟1秒。模拟过程每秒运行一次。这允许我在模拟运行时更改电子表格中的值并在计算机上执行其他操作 但是,我希望运行模拟过程的速度超过1秒。Application.wait阻止我在等待时对电子表格执行任何其他操作。您可以尝试使用DoEvents函数,该函数将产生执行。这允许您在进程在后台运行和计数时执行任务。 再加上一个计时器函数,它可以产生毫秒(至少在Windows上,MAC分辨率是1s) 官方文件中的

我用VBA for Excel编写化工厂模拟。我目前使用Application.OnTime方法延迟1秒。模拟过程每秒运行一次。这允许我在模拟运行时更改电子表格中的值并在计算机上执行其他操作


但是,我希望运行模拟过程的速度超过1秒。Application.wait阻止我在等待时对电子表格执行任何其他操作。

您可以尝试使用DoEvents函数,该函数将产生执行。这允许您在进程在后台运行和计数时执行任务。 再加上一个计时器函数,它可以产生毫秒(至少在Windows上,MAC分辨率是1s)

官方文件中的完美例子:

您可以尝试使用DoEvents函数,该函数产生执行结果。这允许您在进程在后台运行和计数时执行任务。 再加上一个计时器函数,它可以产生毫秒(至少在Windows上,MAC分辨率是1s)

官方文件中的完美例子:

您需要在少于一秒的时间间隔内使用睡眠API,如本文所示:


正如@MWicha所提到的,如果需要,您还可以使用DoEvents来产生执行。

您需要在少于一秒的时间间隔内使用Sleep API,如本文所示:

正如@MWicha所提到的,如果需要,您还可以使用DoEvents来产生执行