我试图将按钮动态添加到用户窗体,但用户窗体只是空白。 Ive尽可能简化了错误检查的代码本质(不是对我有帮助)

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


有什么方法可以检查按钮是否已添加但不可见?或为什么不添加它们。任何帮助,不胜感激。

最佳答案

一些东西:


您需要将用户窗体显示为vbModeless-否则代码将在UserForm2.Show上停止
您正在创建一个名为Label的对象,然后在With上使用theLabel
然后,您需要增加三个标签的位置,以避免重叠(我已经使用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

08-05 01:18