我在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
我在这里基本上想要实现的是,如果使用了取消按钮,则转到该特定子的“儿子”。 我愿意接受任何建议。
答案 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"