Excel 如何为多个按钮分配通用程序?

Excel 如何为多个按钮分配通用程序?,excel,vba,Excel,Vba,不久前,我有一个示例代码,可以为多个按钮分配相同的过程。 大概是这样的: For Eeach buttton in Form1 If button is clicked MsgBox button.Caption. 但我现在找不到此代码。 用谷歌搜索我找不到我需要的东西。 我只记得我需要插入一个类模块。 有人能给我一个链接或一个简短的例子吗。插入一个新的类模块,并将其命名为clListener(我刚想到这个)。 代码在那里: Public WithEvents ct As MSForms.Co

不久前,我有一个示例代码,可以为多个按钮分配相同的过程。
大概是这样的:

For Eeach buttton in Form1
If button is clicked
MsgBox button.Caption.
但我现在找不到此代码。
用谷歌搜索我找不到我需要的东西。
我只记得我需要插入一个类模块。

有人能给我一个链接或一个简短的例子吗。

插入一个新的类模块,并将其命名为
clListener
(我刚想到这个)。
代码在那里:

Public WithEvents ct As MSForms.CommandButton

Public Sub ct_Click()
    MsgBox ct.Name & " clicked!"
End Sub
在Userform模块中:

Private listenerCollection As New Collection

Private Sub UserForm_Initialize()
    Dim ctItem
    Dim listener As clListener

    For Each ctItem In Me.Controls
        If TypeName(ctItem) = "CommandButton" Then
            Set listener = New clListener
            Set listener.ct = ctItem
            listenerCollection.Add listener
        End If
    Next
End Sub