在运行时添加多个userform控件

时间:2018-02-26 16:42:28

标签: vba

我创建了一个带有静态标签的用户表单,以指示用户检查某些部件号。表单还将有一个静态按钮来提交输入。但是,我需要在运行时创建复选框,因为它不确定每次显示表单时会有多少个复选框。最多可以有12个盒子,但大多数时候只需要一个或两个盒子,而我更喜欢只显示所需的盒子而不是空白的复选框。我已经制作了一个for循环来添加框。

目前我可以在表单中添加一个复选框,但在记录中,我应该有三个。我在网上看到的关于动态添加控件的所有内容主要涉及向控件添加事件,但我不需要事件,只需要控件。任何人都可以在我的代码中看到我需要添加/更改的内容:

Private WithEvents chkbox As MSForms.CheckBox

Private Sub UserForm_Activate()
For i = 1 To 12
    If PNArray(i) Like "A*" And ChangeArray(i) = "New Part Number:" Then
        With Me.Controls
            Set chkbox = .Add("Forms.checkbox.1", "chkbox" & i, True)
            With chkbox
                .Width = 108
                .Height = 18
                .Top = 30 * i
                .Left = 54
                .Caption = PNArray(i)
            End With
        End With
    End If
Next i
End Sub

由于

0 个答案:

没有答案