Pausing/Resuming Excel VBA 中的循环(点击)
Pausing/Resuming a Loop in Excel VBA (on Click)
因此,我正在使用相当大的 Excel sheet。我已经创建了很多功能,因为它相当复杂。当我告诉它执行时,它需要很长时间。我创建了一个计时器,告诉人们它已经进入了这个过程(如图所示):
现在。我非常想做一个暂停按钮。我试过:
Private Sub PauseButton_Click()
Application.Wait Now() + TimeValue("00:00:20")
End Sub
这实际上暂停了进程。我最初的想法是输入一个非常大的数字,然后单击按钮继续。不幸的是,我无法恢复 (DoEvents
) 该过程,因为 Excel 似乎在输入的时间段内完全冻结。
如果您对如何解决此问题有任何想法,我们将不胜感激。
好吧,考虑到我们没有表单代码的视图,您可以尝试声明一个 public 布尔值 b_pause
,它会告诉您是否暂停。并写下这样的东西:
public b_pause as boolean
sub RunMe
b_pause = True
Do While b_pause
DoEvents
Loop
End sub
Sub StopMe()
b_pause = False
End Sub
因此,我正在使用相当大的 Excel sheet。我已经创建了很多功能,因为它相当复杂。当我告诉它执行时,它需要很长时间。我创建了一个计时器,告诉人们它已经进入了这个过程(如图所示):
现在。我非常想做一个暂停按钮。我试过:
Private Sub PauseButton_Click()
Application.Wait Now() + TimeValue("00:00:20")
End Sub
这实际上暂停了进程。我最初的想法是输入一个非常大的数字,然后单击按钮继续。不幸的是,我无法恢复 (DoEvents
) 该过程,因为 Excel 似乎在输入的时间段内完全冻结。
如果您对如何解决此问题有任何想法,我们将不胜感激。
好吧,考虑到我们没有表单代码的视图,您可以尝试声明一个 public 布尔值 b_pause
,它会告诉您是否暂停。并写下这样的东西:
public b_pause as boolean
sub RunMe
b_pause = True
Do While b_pause
DoEvents
Loop
End sub
Sub StopMe()
b_pause = False
End Sub