从Excel用户窗体返回值或取消

我有一个子调用一个用户窗体显示,只想继续如果用户没有点击我的取消button。 我不想把所有其他的子调用放在用户表单中。

是否有可能有一个用户表单返回一个值或一种方式来检查用户是否点击一个特定的button?

我想我可以使用一个全局variables,但想知道如果我可以传递和从一个用户窗体。

我更喜欢使用属性。

在你的userForm里面

 Private m_bCancel As Boolean Public Property Get Cancel() As Boolean Cancel = m_bCancel End Property Public Property Let Cancel(ByVal bCancel As Boolean) m_bCancel = bCancel End Property 

代码取消button

 Private Sub cmdCancel_Click() Me.Cancel=True Me.Hide End Sub 

像这样从外部调用userForm

 sub loadForm() dim frm set frm= new UserForm1 frm.show if frm.Cancel then Msgbox "Cancelled" end if End Sub