我正在尝试动态地向用户表单添加按钮,但用户表单只是空白。我尽可能简化了代码的本质以进行错误检查(并不是说它对我有帮助)
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
的对象,然后在theLabel
上使用With
-
然后,您需要增加三个标签的位置以避免重叠(我已经使用
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)