15

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

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

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

4

3 回答 3

24

一些东西:

  1. 您需要将您的用户窗体显示为vbModeless- 否则代码将停止UserForm2.Show
  2. 您正在创建一个对象,Label然后使用WithontheLabel
  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
    
于 2012-05-11T03:40:56.333 回答
0

end with声明之后,添加:

userform1.show

更正一项:

.top = 10*labelcounter+10
于 2020-05-17T20:47:51.033 回答
-4

试试下面的代码

Set theLabel = UserForm2.Designer.Controls.Add("Forms.Label.1", "Test1", True)
于 2014-08-22T08:50:32.840 回答