首页 > 解决方案 > VBA中如何动态设置表单控件的事件处理程序?

问题描述

这就是我到目前为止所拥有的,从我从其他人如何完成它中收集到的。

Set iComboBoxes = New Collection
'Cycling through all controls and gathering all comboboxes
For Each CTRL In UserForm1.Controls
    If TypeName(CTRL) = "ComboBox" Then
        iComboBoxes.Add CTRL
        'Setting onmousedown event handler
        CTRL.OnMouseDown = "=AllComboBoxes_MouseDown(" & CTRL.Name & ")"
    End If
Next CTRL

在我设置 OnMouseDown 事件处理程序的行上,我收到一条错误消息,指出该对象不支持此属性或方法。我见过其他人这样做,所以我一定错过了一些东西。

标签: vbaexcel

解决方案


推荐阅读