我在同一工作簿中的许多工作表上都有相同的命令按钮,称为“输出”。所有按钮都调用模块ModMain中相同的“子Output()”。我需要知道命令调用来自哪张表单?哪个命令按钮叫做sub?
0
A
回答
3
确认这是在每一个VBA模块的顶部:
Option Explicit
然后改变这:
Sub Output()
这样:
Sub Output(strSource as String)
您所添加的参数Sub
。现在你的代码将无法编译。 (如果您不知道这部分,请参阅帮助。)
修复代码以便编译。 VBA编辑器将引导您到每个位置。这些位置将是您的“所有相同”按钮的VBA程序。
其中每个呼叫Output
,将其更改为Output("ThisPlace")
。对于这个地方,插入一个唯一的名称作为标识符。
现在按钮的标识方式可以从Sub
中抓取。
3
一种方法,你可以使用(如果你有在同一张纸上都调用同一个程序的多个按钮特别有用)是看的
Application.Caller
你叫子的价值。这将返回被点击的按钮的名称:如果您唯一命名按钮,则可以确定如何处理该呼叫。
还值得指出的是,(使用工作表上的表格按钮),您可以通过“的OnAction”设置传递参数,因此,如果您输入(例如)
'TestSub "Hello", 2'
进入“宏名”文本框(包括单引号),它将调用TestSub并传递“Hello”和2作为参数。
+0
在http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx上提供了很好的解释(向下滚动1/3) – Smandoli
相关问题
- 1. 哪个按钮叫做函数?
- 2. 命令按钮动作不叫
- 3. 如何确定哪个按钮叫做函数?
- 4. 确定哪个按钮叫做actionPerformed方法
- 5. 如何知道哪个按钮叫做方法?
- 6. JSF命令按钮没有按呼叫行动
- 7. Python:按钮命令+'&'
- 8. 与命令按钮
- 9. JSF命令按钮
- 10. 按下按钮时有多个命令
- 11. 如何知道在vb.net中点击了哪个命令按钮?
- 12. PrimeFaces命令按钮与默认命令按钮
- 13. 一个按钮的两个命令
- 14. 命令按钮是否可以在Access中显示另一个命令按钮?
- 15. 号码:命令按钮并没有叫管理bean方法
- 16. 在哪个命令
- 17. 设置一个ActiveX命令按钮
- 18. 多个命令按钮中的Tkinter
- 19. Icefaces:命令按钮的多个actionListeners
- 20. Tkinter双命令为一个按钮
- 21. 上点击一个命令按钮
- 22. 绑定切换按钮,两个命令
- 23. 这个按钮叫什么?
- 24. 哪个继承了类叫做function?
- 25. 启用PB8命令按钮
- 26. JSF命令按钮 - 造型
- 27. devextreme datagrid命令按钮
- 28. 按钮命令型号
- 29. JQuery Datepicker和命令按钮
- 30. JSP命令按钮动作
您可以添加一个标识它的参数。 –
如果您单击工作表上的某个按钮,它将始终是活动工作表。所以代码就像'MsgBox ActiveSheet.Name' – tigeravatar
作为一种替代方法(如果你在同一张表上有多个按钮,这个选项很有用),你可以看一下'Application.Caller',它返回被点击的按钮的名称:如果您唯一地命名按钮,则可以确定如何处理呼叫。 –