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