VBA 运行 从模块中的活动工作表切换按钮子

VBA Run ToggleButton Sub from an Active Worksheet in a Modul

几天来我一直在寻找解决以下问题的方法,但就是想不出来。

我有一个 Excel 工作簿,其中包含多个 sheet。一些 sheets 包含代码,也有带有代码的多个模块。请记住,最终用户可以更改 sheet 名称、职位和数量。

在 sheet 和 code.name "Tabelle 1" 中,我有以下代码:

Sub Reset_ToggleButton1()
If ToggleButton1.Value = True Then
ToggleButton1.Value = False
End If

End Sub

据我所知,我只能使用各自 sheet 中的代码激活 ToggleButtons。如果这不是真的,这可能是我的问题的可能解决方案。

此外,我想从模块中调用子 Reset_ToggleButton1()。但是,由于带有切换按钮和相应代码的 sheet 可以有多个副本,因此我想在活动 sheet.

中引用子项

以下代码有效,但仅适用于 sheet named.

Sub test()
Application.Run "Tabelle1.Reset_ToggleButton1"
End Sub

我想我需要的是将"Tabelle1"替换为活跃作品的代号sheet。我知道,我可以使用以下代码获得活动工作 sheet 的 Code.Name:

Dim SheetCode As String
SheetCode = ActiveSheet.CodeName

但我不知道如何将它从上面插入到 Sub test() 中。

非常感谢您的帮助!

祝福 安妮

你可以使用

ActiveSheet.Reset_ToggleButton1

Worksheets("Tabelle1").Reset_ToggleButton1

到运行吧。

值得一提的是,您可以指定工作表:

Sub Test(WS As Worksheet)
    WS.Reset_ToggleButton1
End Sub