我正在修改此线程中的答案以使其适用于我的代码,但它不适用于我。
有几个不同之处,我使用的是复选框而不是组合框,但更重要的是,我是在运行时创建我的复选框。
这是我的课:
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
我可以看到我引用了新创建的复选框,因为我可以更改标题,但是当我单击它时,什么也没有发生。