0

少し前に、複数のボタンに同じ手順を割り当てるサンプル コードがあります。
このようなもの:

For Eeach buttton in Form1
If button is clicked
MsgBox button.Caption.

しかし、私は今このコードを見つけることができません。
グーグルで検索しても、必要なものが見つかりません。
クラスモジュールを挿入する必要があることを覚えています。
誰かが私にリンクまたは短い例を教えてくれませんか。

4

1 に答える 1

2

新しいクラス モジュールを挿入し、それに名前を付けますclListener(それが頭に浮かびました)。
そこにコード:

Public WithEvents ct As MSForms.CommandButton

Public Sub ct_Click()
    MsgBox ct.Name & " clicked!"
End Sub

ユーザーフォームモジュールで:

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
于 2012-10-14T15:00:21.273 に答える