向用户表单动态添加标签=空白用户表单

问题描述 投票:13回答:3

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

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

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

excel vba excel-vba
3个回答
22
投票

几件事:

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

  4. 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
    

0
投票

end with语句后,添加:


-4
投票

尝试下面的代码

© www.soinside.com 2019 - 2024. All rights reserved.