Excel VBA:中断代码执行(而不是按'转义')
我有一个Do .. While循环,其中两个For ..循环嵌套; 第一个For …循环从1递增到X,第二个循环从X递减到1,这是当前重复的。
现在,我希望用户能够“中断”这个无限循环,并且程序在循环中断时执行XYZ。
我已经尝试使用切换button与Do .. While循环结合使用,但是当上述循环正在运行时,不会接受任何input。 如果代码正在运行循环,button的状态在点击时不会改变。
任何build议,高度赞赏。
关键是在循环中包含一个DoEvents
。 这允许Excel在运行代码时处理button点击等事情
这是一个大纲。 将macrosButtonClick
分配给button。 Main
将无限期运行,直到button被点击。
Option Explicit Dim bBreak As Boolean Sub ButtonClick() bBreak = True End Sub Sub Main() Dim X As Long Dim i As Long bBreak = False Do While True X = 1000 For i = 1 To X If bBreak Then Exit Do End If DoEvents Next For i = X To 1 Step -1 If bBreak Then Exit Do End If DoEvents Next Loop If bBreak Then XYZ End Sub