Excel 如何在程序生成的控件上调用函数?
我在一系列单元格中添加了3列列表框,这些单元格是在单击按钮时按程序创建的。列表框有3列,包含大量数据,因此我使用GotFocus()和LostFocus()展开和折叠它们,以便所有项目都可见,但这是针对我手动创建的列表框。如何使生成的列表框具有这种行为Excel 如何在程序生成的控件上调用函数?,excel,vba,listbox,Excel,Vba,Listbox,我在一系列单元格中添加了3列列表框,这些单元格是在单击按钮时按程序创建的。列表框有3列,包含大量数据,因此我使用GotFocus()和LostFocus()展开和折叠它们,以便所有项目都可见,但这是针对我手动创建的列表框。如何使生成的列表框具有这种行为 Public Sub CreateListbox() Dim rCell As Range Dim rRng As Range Set rRng = ActiveSheet.Range("AA3:AA45") For E
Public Sub CreateListbox()
Dim rCell As Range
Dim rRng As Range
Set rRng = ActiveSheet.Range("AA3:AA45")
For Each rCell In rRng.Cells
Set oLISTBOX = ActiveSheet.OLEObjects.Add(classtype:="Forms.ListBox.1")
With oLISTBOX
.Object.IntegralHeight = False
.Object.Font.Size = 11
.Top = rCell.Top
.Left = rCell.Left
.Width = rCell.Width
.Height = rCell.Height
.LinkedCell = rCell.Address
.ListFillRange = "ValSocDeterm."
.Object.ColumnCount = 3
.MultiSelect = 1
End With
Next rCell
End Sub
通常,您需要创建一个类来处理与列表框关联的事件。请参见此处的答案,例如:谢谢Tim。你给我指出了正确的方向,并发现这更容易理解