【发布时间】:2014-05-09 19:02:51
【问题描述】:
我在同一个工作簿的许多工作表上都有相同的命令按钮,称为“输出”。所有按钮在模块 ModMain 中调用相同的“sub Output()”。我需要知道命令调用来自哪个工作表?
【问题讨论】:
-
你可以添加一个参数来标识它。
-
如果您单击工作表上的按钮,那么它将始终是活动工作表。所以代码类似于
MsgBox ActiveSheet.Name -
作为替代方案(如果您在同一张工作表上有多个按钮,这很有用)您可以查看
Application.Caller,它返回被点击的按钮的名称:如果您唯一地命名您的按钮,您可以然后确定如何处理呼叫。 -
蒂姆·威廉姆斯,这就是我想要的!谢谢!我将所有按钮重命名为其选项卡的名称,现在我知道命令来自哪里,我可以使用它来告诉程序使用 for/ 找到哪个图片(图片也以它们所在的选项卡命名)工作表形状的下一个循环并将其复制到输出工作表。
-
还值得注意的是(使用工作表上的表单按钮)您可以通过“onAction”设置传递参数,因此如果您在“宏名称”文本框中输入(例如)
'TestSub "Hello", 2'(包括单引号)将调用TestSub并将"Hello"和2作为参数传递。