このスレッドの回答を変更して、コードで機能するようにしていますが、機能していません。
Excel vbaで複数のオブジェクトにイベントを割り当てる方法は?
いくつかの違いがあります。コンボボックスの代わりにチェックボックスを使用していますが、さらに重要なことは、実行時にチェックボックスを作成していることです。
これが私のクラスです:
Public WithEvents checkBox1 As MSForms.checkBox
Private Sub checkBox1_Click()
MsgBox "click"
End Sub'
モジュールコード:
Dim tbCollection As New Collection
Sub macro1()
Dim cbox As OLEObject
Dim myCheckBox As New JohnClass
Set cbox = ActiveSheet.OLEObjects.Add("Forms.CheckBox.1", Left:=Range("A1"))
Set myCheckBox.checkBox1 = cbox.Object
tbCollection.Add cbox
end sub
キャプションを変更できるため、新しく作成したチェック ボックスへの参照があることがわかりますが、クリックしても何も起こりません。