【发布时间】:2018-01-10 11:44:17
【问题描述】:
我有一个类似的问题,如以下链接所述:Click Event in Class Module Not Firing
(没有代表在那里发表评论并要求澄清,所以提出了一个新问题)
我的设置如下:
Userform_Initialize 调用为该用户窗体创建组合框的模块中的子,这些组合框被设置为类模块。
如果我正确理解链接中给出的答案,则在显示用户表单之前会忘记 ComboBox 和 Class Module 之间的连接,因此不会触发该操作。不幸的是,我无法让它工作。
我想知道是否有人可以指定链接中给出的答案。我应该把“Option Explicit”和“Private clsLabel As UserFormLabelLink”放在哪里?我尝试了几个位置,但每次都收到不同的错误(编译错误)。
(当我将 UserForm.Show 放入创建这些 ComboBox 的模块中时,该操作会触发,但这会在 Userform 的后期阶段创建一个 91 错误。)
如果有人可以提供帮助,将不胜感激!
编辑 - 这是代码
模块
Dim inputComboH As cComboHandler
Set collInputCombo = New Collection
Dim userformCombo As ComboBox
Set userformCombo = UserForm1.MultiPage1.Page1.Controls("Frame1").Add("Forms.ComboBox.1")
With userformCombo
.Name = "ComboBox"
'Add items to the combobox
For k = 0 To 5
.AddItem "Item" & k
Next k
Set inputComboH = New cComboHandler
Set inputComboH.inputComboH = userformCombo
collInputCombo.Add inputComboH
End With
类模块 cComboHandler
Public WithEvents inputComboH As MSForms.ComboBox
Public Sub inputComboH_Click()
MsgBox "Clicked"
End Sub
【问题讨论】:
-
如果您发布代码会很有帮助。请查看How to Ask
-
嗨 Aron,制作和编辑