0

我编写了这个简单的 VBA 代码来包含开始和停止按钮。在我单击 On 按钮启动 Do 循环后,excel 保持忙碌状态,我无法单击 Off 按钮停止循环。你能帮忙吗?

Public ONOFF As Boolean

Sub ON_Button()
    ONOFF = True
    Do While ONOFF
        Matha
    Loop
    MsgBox ("Exit Matha sub")
End Sub

Sub OFF_Button()
     ONOFF = False
End Sub

Sub Matha()
Dim X, Y, Z
    X = 1
    Y = 2
    Z = 5
    Z = X * Y + Z
End Sub
4

1 回答 1

2

您是否将 Off_Button 分配给“开”按钮?添加带有文本的 debug.print 以确保其正常工作
如果这不是问题,请尝试在循环中添加 DoEvents 以允许 Excel 处理您的点击。

构建这样的循环将占用您所有的处理器时间(至少是 Excel 专用的核心)。如需更好的解决方案,请查看:如何使用 Windows API 函数创建计时器事件

于 2012-12-16T08:50:42.293 回答