从VBA中的模块调用是/否表格

时间:2018-09-11 18:29:45

标签: excel-vba

我有一个模块,可以自动发送多个电子邮件。我想打电话问一个userform / msg,询问:“您真的要发送所有邮件吗?”,这取决于是否选择了继续执行宏。

我知道使用MsgBox(text,vbYesNo)的简单解决方案,但我想通过用户表单解决此问题,因为我也可以通过它解决其他问题。

如何做到这一点,使宏仅在单击用户窗体中的“是”按钮时才继续?非常感谢

1 个答案:

答案 0 :(得分:1)

您可以在用户窗体中添加一个属性,该属性指示是否单击了“是”,例如:

Private bYesClicked As Boolean

Public Property Get YesClicked() As Boolean
     YesClicked = bYesClicked
End Property

然后将bYesClicked设置为True,并在单击“是”按钮时隐藏用户窗体:

Private Sub YesButtonClick()
   bYesClicked = True
   Me.Hide
End Sub

要使用它,请以模态显示您的用户窗体,然后访问YesClicked属性:

Dim u As MyUserForm
Set u = New MyUserForm
u.Show vbModal
If u.YesClicked Then ...