回答
的另一種方式是使用一個類模塊來控制事件的控制...
1)插入類模塊(VBE>插入>類模塊)。
2)在名稱下的屬性窗口中,輸入clsToggleButtonGroup。
3)複製和下面的代碼粘貼到該類的代碼模塊...
Option Explicit
Public WithEvents ToggleButton As MSForms.ToggleButton
Private Sub ToggleButton_Click()
MsgBox ToggleButton.Caption
'do stuff
'
'
End Sub
4)在常規的模塊(VBE>插入>模塊),複製和粘貼以下代碼。 ...
Option Explicit
Public colToggleButtons As New Collection
Sub AddToggleButtonsToClass()
Dim OleObj As OLEObject
Dim cToggleButton As clsToggleButtonGroup
For Each OleObj In Worksheets("Sheet1").OLEObjects 'change the sheet name accordingly
If TypeName(OleObj.Object) = "ToggleButton" Then
Set cToggleButton = New clsToggleButtonGroup
Set cToggleButton.ToggleButton = OleObj.Object
colToggleButtons.Add cToggleButton
End If
Next OleObj
End Sub
5)然後,運行AddToggleButtonsToClass。
我沿着這些線路嘗試了一些東西,但它什麼都不會。我想我讀了一些關於它不工作的東西,如果我在工作表模塊中做,它必須在一個常規模塊中。是對的嗎? –
我測試過它,它工作正常。使用位於工作表上的切換按鈕,您將在類模塊中獲得單擊事件的代碼,並且該代碼將常規模塊中的切換按鈕添加到您的類中。插入類模塊時,不要忘記重新命名它,正如我在文章中所描述的那樣。 – Domenic
我得到運行時錯誤424:對象需要在行'colToggleButtons.Add cToggleButton' ... –
簡答:不。
較長的回答:不。 但是您不必爲每個處理程序複製/粘貼整個邏輯。只需將該邏輯提取到其自己的Private
方法中,並從處理程序調用它。
Private Sub RunToggleButtonLogic()
'do stuff
End Sub
Private Sub ToggleButton1_Click()
RunToggleButtonLogic
End Sub
Private Sub ToggleButton2_Click()
RunToggleButtonLogic
End Sub
Private Sub ToggleButton3_Click()
RunToggleButtonLogic
End Sub
Private Sub ToggleButton4_Click()
RunToggleButtonLogic
End Sub
Private Sub ToggleButton5_Click()
RunToggleButtonLogic
End Sub
...
這樣做的原因在於,VBA是COM和COM事件與接口(如Java)工作,而不是代表(如C#,VB.NET或) - 所以你不能「指定」處理程序對一個事件來說,它根本就不是那樣工作的。
男人我真的打出了一個評論,說這只是(當然不是拼寫)。 –
原來有一種方法。見Domenic的答案。 –
- 1. 使用VBA點擊一個按鈕
- 2. 使用setSelected事件點擊另一個切換按鈕來更改切換按鈕的狀態
- 3. 一個按鈕發射另一個按鈕點擊事件
- 4. 使用JQuery點擊一個按鈕時,如何切換畫面
- 5. 點擊一個按鈕時的事件
- 6. 點擊一個按鈕來模擬點擊多個按鈕
- 7. 單擊一個按鈕時禁用多個按鈕點擊
- 8. 裏面的ListView多個切換按鈕漸晚,在點擊一個切換按鈕
- 9. VBA點擊一個特定的按鈕
- 10. 「點擊」一個JavaScript按鈕與VBA
- 11. Power Point VBA:上一個按鈕點擊
- 12. 切換按鈕點擊wpf
- 13. 切換按鈕點擊
- 14. C#如何使用點擊事件處理多個按鈕
- 15. Android:使用按鈕事件切換到另一個活動?
- 16. 多個按鈕和一個按鈕沒有反應在點擊事件
- 17. 多個按鈕,一個事件來改變點擊按鈕的顏色
- 18. 在按鈕上點擊一個網頁切換兩個網格
- 19. 委派一個按鈕單擊事件通過點擊另一個按鈕
- 20. 如何使用一個點擊事件處理程序的多個按鈕
- 21. 使事件的多個按鈕,並知道被點擊了哪個按鈕
- 22. 禁用所有其他切換按鈕,一個被點擊
- 23. 用1個按鈕一次切換多個div使用jquery
- 24. 按鈕點擊順序切換多個功能
- 25. 用jQuery點擊切換背景圖片。多個事件
- 26. 使用animate.css切換多個div使用多個按鈕 - jQuery
- 27. 切換語言使用一個按鈕
- 28. FadeIn/FadeOut使用一個按鈕切換
- 29. 使用一個按鈕切換文本
- 30. 觸發asp:按鈕的點擊事件,通過點擊另一個asp:按鈕
那麼你可能不得不爲每個人做點什麼。我會把基本代碼放在一個函數中,並讓每個單獨的事件調用它。 –