VBA列表框在运行时创建,而不是触发事件

时间:2015-03-16 13:41:30

标签: excel vba events listbox userform

当选择了某些组合框项目时,我已在vba代码中创建了一个列表框。 基本上,当选择组合框项目时,SQL会在数据库表上运行,并且结果记录集将被输入到一个数组中,该数组随后将填充多维列表框。

这是在显示列表框的userform模块中完成的。 我为列表框添加了点击和双击事件,但都没有工作。

以下代码用于在userform模块中创建列表框。

        Dim lst As Control
        Set lst = Me.Controls.Add("Forms.Listbox.1", "lstOutputList")
        Rows = UBound(OutputList, 2)

        With lst
                .Clear
                .ColumnCount = Columns
                    For x = 0 To Columns - 1
                    For y = 0 To Rows
                        .AddItem
                        If Not IsNull(OutputList(x, y)) Then
                            .List(y, x) = OutputList(x, y)
                            Else
                                .List(y, x) = ""
                        End If
                    Next y
                Next x
                For count = .ListCount To Rows + 1 Step -1
                        .RemoveItem count - 1
                Next count
                .BoundColumn = 2
                .MultiSelect = fmMultiSelectSingle
                .Left = 270
                .Top = 100
                .Width = Columns * 70
                If Rows > 50 Then
                    .Height = 300
                    Else
                    .Height = Rows * 13
                End If
    End With

列表创建并在表单上显示得非常好,它只是不会触发的事件。 我已经尝试了lst_click()和lstOutputList_Click()事件以及等效的双击事件,没有任何效果。

0 个答案:

没有答案