使用2个子中的变量

时间:2017-09-12 11:25:43

标签: excel variables userform

我在excel文件中有20多个subs,还有一些userforms。在一个用户窗体中,有一个取消按钮,但我不能在另一个子中使用“if cancel = true”有点代码。我不知道为什么,但它永远不会成真。所以我认为如果我可以在userform中声明一个变量为true,那么在另一个sub中检查该变量,那么这可能有用但不幸的是我也无法想到。在下面你可以找到两个代码;

这是userform;

Private Sub Sheet_Iptal_Click()
Dim Sheet_Iptal As String
Sheet_Iptal = True
ThisWorkbook.Worksheets("Storyboard").Delete
Yeni_Sheet_Adi_Olustur.Hide
MsgBox "Islem iptal edildi."
Yeni_Sheet_Adi_Olustur.Yeni_Sheet.Value = ""
End Sub

这是另一个子部分,我想检查“Sheet_Iptal”情况;

If Sheet_Iptal = True Then
    ThisWorkbook.Worksheets("Storyboard").Delete
    GoTo son
End If

我在这里基本上想要实现的是,如果使用了取消按钮,则转到该特定子的“儿子”。 我愿意接受任何建议。

1 个答案:

答案 0 :(得分:0)

UserForm .Tag属性可以设置为按钮单击事件:

Private Sub buttonOK_Click()
    Me.Tag = "OK"
    Me.Hide
End Sub

Private Sub buttonCancel_Click()
    Me.Tag = "Cancel"
    Me.Hide
End Sub

然后在显示表单后检查它的值:

UserForm1.Show
MsgBox UserForm1.Tag <> "OK"