动态添加标签到用户窗体 = 空白用户窗体



我正在尝试动态地向用户表单添加按钮,但用户表单只是空白。我尽可能简化了代码的本质以进行错误检查(并不是说它对我有帮助)

Sub addLabel()
UserForm2.Show    
Dim theLabel As Label
Dim labelCounter As Integer
For labelCounter = 1 To 3
    Set Label = UserForm2.Controls.Add("Forms.Label.1", "Test" & labelCounter, True)
    With theLabel
        .Caption = "Test" & labelCounter
        .Left = 10
        .Width = 50
        .Top = 10
    End With
End Sub

有没有办法检查按钮是否已添加但不可见?或者为什么不添加它们。任何帮助非常感谢。

几件事:

  1. 您需要将用户表单显示为vbModeless - 否则代码将停止UserForm2.Show
  2. 您正在创建一个名为 Label 的对象,然后在theLabel上使用 With
  3. 然后,您需要增加三个标签的位置以避免重叠(我已经使用 Top 完成了此操作)。

    Sub addLabel()
    UserForm2.Show vbModeless
    Dim theLabel As Object
    Dim labelCounter As Long
    For labelCounter = 1 To 3
        Set theLabel = UserForm2.Controls.Add("Forms.Label.1", "Test" & labelCounter, True)
        With theLabel
            .Caption = "Test" & labelCounter
            .Left = 10
            .Width = 50
            .Top = 10 * labelCounter
        End With
    Next
    End Sub
    

end with语句之后,添加:

userform1.show

还有一个更正:

.top = 10*labelcounter+10

尝试下面的代码

Set theLabel = UserForm2.Designer.Controls.Add("Forms.Label.1", "Test1", True)

最新更新