少し前に、複数のボタンに同じ手順を割り当てるサンプル コードがあります。
このようなもの:
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
ユーザーフォームモジュールで:
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