在 2 个 sub 中使用变量

Using a variable in 2 subs

我在 excel 文件中有 20 多个子项,还有一些用户表单。在一个用户表单中,有一个取消按钮,但我不能在另一个子表单中使用 "if cancel = true" 有点代码。我不知道为什么,但它永远不会实现。所以我认为,如果我可以在用户窗体中声明一个变量为真,然后在另一个子程序中检查该变量,那么这可能会起作用,但不幸的是我也无法理解。您可以在下面找到这两个代码;

这是用户表单;

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

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

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"