VBA-如果点击了用户窗体中的CommandButton2

时间:2018-07-19 08:17:33

标签: excel vba excel-vba

在我的工作簿中,我有一个CommandButton(Button1),可以打开一个用户窗体。在用户窗体中,我还有两个CommandButton(保存/取消)。

在Button1中,我有一个点击计数器。因此,如果第一次单击Button1,它将显示UserForm1,第二次显示UserForm2。 (用户窗体相同)

我现在的问题是,如果我在Userform1中按下“取消”按钮,我希望计数器恢复为0。

不幸的是,我在搜索过程中找不到解决方案,而且我也不知道如何解决这个问题。

这是我的代码:

' Button in Worksheet
Private Sub Button1_Click()
    Static cnt As Long
    cnt = cnt + 1

    If cnt = 1 Then
        [UserForm1].Show
    ElseIf cnt = 2 Then
        [UserForm2].Show
    End If

    If ActiveControl.UserForm1.Cancel_Button = True Then
        cnt = 0
    End If
End Sub

' Code in UserForm1
Private Sub Save_Button_Click()
    Call Save_Form_in_Sheet
    [UserForm1].Hide
End Sub

Private Sub Cancel_Button_Click()
    [UserForm1].Hide
End Sub

我知道这部分是错误的:

    If ActiveControl.UserForm1.Cancel_Button = True Then
        cnt = 0
    End If

我如何编写代码,如果单击了“取消”按钮,计数器又回到0?

编辑:

可以找到解决方案。 我不得不将代码更改为此:

If UserForm1.ActiveControl.Name = "Cancel_Button" Then
    cnt = 0
End If

0 个答案:

没有答案