小编Pet*_*own的帖子

如何在 Excel VBA 用户表单中向动态创建的控件(按钮、列表框)添加事件

我正在尝试实时构建用户表单。(在 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)

excel vba

1
推荐指数
1
解决办法
3830
查看次数

标签 统计

excel ×1

vba ×1