Excel VBA-指向同一事件的多个按钮

Excel VBA-指向同一事件的多个按钮,excel,onclick,vba,Excel,Onclick,Vba,我目前正在处理一些excel文档,以尽可能地实现自动化。 为此,我必须在每张表中添加相同的按钮(例如,我们称之为“全部擦除”按钮)。 直到这里是好的。我添加了它,一切都很好。问题是onClick事件代码作为新的Microsoft Excel对象代码复制到所有不同的工作表中。我希望所有的按钮都指向一个模块,这样我就不必在任何地方复制代码 我来自.Net环境,我知道VBA可能有一些限制或不同的用法,但我想知道是否可以在每个工作表中避免onClick事件,并将onClick放在单个通用模块上 作为一种

我目前正在处理一些excel文档,以尽可能地实现自动化。 为此,我必须在每张表中添加相同的按钮(例如,我们称之为“全部擦除”按钮)。 直到这里是好的。我添加了它,一切都很好。问题是onClick事件代码作为新的Microsoft Excel对象代码复制到所有不同的工作表中。我希望所有的按钮都指向一个模块,这样我就不必在任何地方复制代码

我来自.Net环境,我知道VBA可能有一些限制或不同的用法,但我想知道是否可以在每个工作表中避免onClick事件,并将onClick放在单个通用模块上

作为一种解决方法,我将我的功能作为子模块添加到模块中,并从每个不同的onClick事件调用它,但如果可以直接清除所有特定于工作表的代码,那就太好了:)

有线索吗

希望是足够清楚,但如果需要更多的描述,请让我知道,并将尝试添加一些图形/图片


提前多谢

您可以为每个按钮指定相同的宏。(只需右键单击按钮并“分配宏”)

只要将ActiveWorksheet指定为要在宏中处理的工作表,就可以了


或者,您也可以使用所需的通用按钮创建一个非模态用户表单,当按下该按钮时,该表单就有代码在活动工作表上工作

太好了!我使用的是命令按钮(ActiveX),而不是常规按钮(表单控件)。现在它工作得很好,谢谢!好奇的是,使用ActiveX命令控件是否可能?