VBA从模块中的活动工作表运行ToggleButton Sub

时间:2018-04-23 08:49:02

标签: excel-vba module togglebutton vba excel

我几天来一直在寻找以下问题的解决方案,但我无法理解。

我有一个包含多张工作表的Excel工作簿。有些工作表包含代码,还有多个带代码的模块。请记住,最终用户可以更改工作表名称,发布和数量。

在带有code.name“Tabelle 1”的工作表中,我有以下代码:

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

End Sub

据我所知,我只能在各自的表单中激活ToggleButtons代码。如果不是这样,这可能是解决我问题的可能方法。

此外,我想从模块调用sub Reset_ToggleButton1()。但是,由于可以使用切换按钮和相应的代码对工作表进行多重复制,我想在活动工作表中引用该子工作。

以下代码有效,但仅适用于名为。

的工作表
Sub test()
Application.Run "Tabelle1.Reset_ToggleButton1"
End Sub

我认为我需要的是将“Tabelle1”替换为活动工作表的代码名称。我知道,我可以使用以下代码获取活动工作表的Code.Name:

Dim SheetCode As String
SheetCode = ActiveSheet.CodeName

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

非常感谢您的帮助!

祝福 安

2 个答案:

答案 0 :(得分:0)

你可以使用

ActiveSheet.Reset_ToggleButton1

Worksheets("Tabelle1").Reset_ToggleButton1

运行它。

答案 1 :(得分:0)

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

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