我想在按钮设置为true时一次又一次执行sub。 我的第一个想法是一个while循环或while循环,但是我无法弄清楚它是如何正确完成的。就我而言,Excel只是停止运行。
用户窗体按钮在按下时会将布尔“状态”设置为true或false。如果“状态”为true,则子程序应循环执行。子程序本身会触发计算,该计算会将金额添加到双“银行”中。如果再次按下同一按钮,则循环应结束。
Function aktivate(i As Integer)
array(i).status = True
call myLoop(i)
End Function
Function deaktivate(i As Integer)
array(i).status = False
End Function
Function myLoop(i As Integer)
Do While array(i).status = True
Call calc(i)
If array(i).status = False Then Exit Do
Loop
End Function
答案 0 :(得分:1)
您需要在DoEvents
循环内使用Do While
,以便可以按“停止”按钮。如果您不这样做,那么代码将变得无响应,并导致excel崩溃。
查看此示例
Dim stopLoop As Boolean
Sub StartCode()
stopLoop = False
LoopCode
End Sub
Sub StopCode()
stopLoop = True
End Sub
Sub LoopCode()
Do While stopLoop = False
Debug.Print "blah"
DoEvents
Loop
End Sub