繁体   English   中英

VBA暂停代码并等待用户交互

[英]VBA Pause code and wait for user interaction

我有在其中添加了根据某些条件弹出的错误框的代码。 条件是:

If Range (Q2:Q) = "" Then
ErrorFrame.Visible = True

当错误框弹出时,有两个我要添加按钮的选项:

  1. 继续:无论Q列中是否有数据,继续操作都会继续执行宏

  2. 停止:停止将结束宏,以便用户可以将数据输入到Q列中并重新运行宏

我也希望这样做,以便当错误框弹出时,代码被暂停并且直到用户选择其中一个选项时才继续。

谁能给我一个例子,说明它如何工作? 我在思考如何编写此代码时遇到了麻烦。 非常感谢任何帮助,谢谢!

我自己想通了:

If WorksheetFunction.CountA(Range("Q:Q")) = 0 Then
UserForm1.ErrorFrame.Visible = True
    Do While UserForm1.ErrorFrame.Visible = True
    DoEvents
    Loop
    If ContinueFlag = True Then GoTo Line1
End If

Line1:

基本上,对于继续按钮,我只是在其上添加了一个标志,因此当单击它时将使该标志为true。 然后在您看到的函数中,当标志为true时,它将转到第1行,然后继续执行代码并退出Do While循环。

我敢肯定,这可能不是最有效的方法,但是请让我知道你们的想法,以及是否有更好的方法可以做到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM