【发布时间】:2016-11-23 10:40:48
【问题描述】:
我动态定义了复选框,在运行时添加到用户表单中。
Sub Userform_Initialize()
For i = 1 To 4
Set Chk = Frame4.Controls.Add("Forms.Checkbox.1", "Checkbox" & i)
With Chk
.top = 84 + k
.left = 336
.Width = 100
.Height = 18
.Caption = "Add item"
.Visible = True
End With
k = k + 24
Next i
End Sub
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
MsgBox Chk
End Sub
由于某种原因,事件没有响应。有谁知道为什么?我需要复选框的布尔值。这意味着当用户单击动态复选框时,我会在 msgbox 中看到“True”返回。
【问题讨论】:
-
您需要创建一个类来处理事件 - 检查这些链接:stackoverflow.com/questions/3014421/…(使用类事件,不要添加额外代码!)。
-
@DarrenBartrup-Cook 感谢您的帖子。我投票赞成 :) 我将很快分享我的解决方案代码。