我在同一工作簿中的許多工作表上都有相同的命令按鈕,稱爲「輸出」。所有按鈕都調用模塊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',它返回被點擊的按鈕的名稱:如果您唯一地命名按鈕,則可以確定如何處理呼叫。 –