我正在尝试向userform动态添加按钮,但userform只是空白.我尽可能地简化了代码的本质,以便进行错误检查(不是它对我有帮助)
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
Run Code Online (Sandbox Code Playgroud)
有没有办法检查按钮是否已添加但是不可见?或者为什么他们没有被添加.任何帮助非常感谢.
我正在尝试实时构建用户表单。(在 Excel VBA 中)只是为了尝试,我从 2 个标签、一个文本框、一个组合框和一个命令按钮开始。我列出了下面的代码+结果形式。
我的问题是:如何将事件链接到控件,特别是组合框和命令按钮?通常(使用手动创建的表单),这将通过调用的例程完成:cmbTabel_change() 和 cmdExit_click()。但这似乎不起作用,当它们是动态创建的。谁能帮我?
代码:
Private Sub UserForm_Initialize()
Dim cCont As Control
Call Add_Control(cCont, "Label", "lblDatabase", "Database", 30, 23, 60, 18)
Call Add_Control(cCont, "Textbox", "txtDatabase", "Database", 110, 20, 60, 18)
Call Add_Control(cCont, "Label", "lblTabel", "Tabel", 30, 47, 90, 18)
Call Add_Control(cCont, "Combobox", "cmbTabel", "Tabel", 110, 44, 90, 18)
Call Add_Control(cCont, "CommandButton", "cmdExit", "Afsluiten", 210, 140, 54, 18)
End Sub
Private Sub Add_Control(ctrl, ctp, cnm, cap, l, t, w, h)
Set ctrl = Me.controls.Add("Forms." & ctp …Run Code Online (Sandbox Code Playgroud)