只需点击一下鼠标,即可将macros分配给工作簿的多个Excel工作表

我有一个工作簿8工作表。
我有一个macros分配给每个工作表。
我想要从一个工作表中单击一个button(通过单击一个button来运行所有8个macros)来运行所有8个macros。
这怎么能被执行?

更新这是我的代码

Sub cf1() Application.Run "v1" Application.Run "a1" Application.Run "t1" Application.Run "p1" Application.Run "k1" Application.Run "k2" Application.Run "k3" Application.Run "m1" End Sub Sub v1() End Sub . . . Sub m1() End sub 

创build一个新的运行所有macros并将其分配给Form Control Button Sub。
像这样的东西:

 Sub RunAll() Application.Run "MacroForSheet1" Application.Run "MacroForSheet2" . . Application.Run "MacroForSheet8" End Sub 

string参数是您的macro namesub procedure name
我使用Application.Run Method以便您可以调用所有macros,无论您在哪里编写它们。
如果你在Module编写它们,你可以像这样明确地expression出来:

 Application.Run "Module1.MacroForSheet1" 

如果你把它们写在Sheet那么你可以这样明确地expression:

 Application.Run "Sheet1.MacroForSheet1" 

其中Sheet1是在属性窗口中看到的对象代号。
如果这不起作用,请澄清并为您的问题添加背景。

编辑1:如果你写在Thisworkbook对象,那么你应该这样做:

 Application.Run "Thisworkbook.MacroForSheet1" 

或者在你的情况下,

 Application.Run "v1" 

把它放在一个Module 。 插入VBE>插入>模块
顺便说一句,你可以做什么@thienkhoi tran张贴。
这也适用于你的情况。
我build议Application.Run以便您可以在任何位置, PublicPrivate运行macros。

您必须创build一个子才能运行所有的macros子目录。 你有:

 Sub macro1() // code 1 End Sub Sub macro2() // code 2 End Sub Sub macro3() // code 3 End Sub 

你应该创build一个macros:

 Sub totalMcr() macro1 macro2 macro3 End Sub 

对所有的macros只运行totalMcr()。
对于自定义UI(ribonbutton或上下文菜单…),您可以使用Office自定义UI编辑器工具