如何停止使用睡眠时Excel无法响应

我正在玩Excel VBA,我正在努力,所以我可以通过单元格观看macros观滚动。 当我尝试使用睡眠缓慢迭代单元格时(使用for循环),Excel在20次迭代后变得无响应。 然后挂起直到结束,然后在子完全执行后再回来。

这是使它发生的代码:

Option Explicit Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub test() Dim i As Integer For i = 1 To 50 Sleep 250 Selection.Offset(1, 0).Select Next i End Sub 

我怎样才能阻止这种情况发生?

添加DoEvents到你的循环。

 Sub test() Dim i As Integer For i = 1 To 50 Sleep 250 Selection.Offset(1, 0).Select DoEvents '/ Add do events to return the resource to interface. Next i End Sub