我已将列表框添加到工作表(而不是“用户表单”)
我用鼠标做到了这一点。
我单击了小锤子和扳手图标。
使用如下代码似乎可以轻松引用此列表框:
ListBox1.Clear
or
ListBox1.AddItem("An option")
但是,我有三个这样的列表框(方便地命名为 ListBox1、ListBox2 和 ListBox3),我想编写一个函数来用数组数据填充它们,如下所示:
Call populate_listbox(ListBox2, designAreaArray)
其中第一个参数是列表框名称,第二个参数是数据。
但我不知道如何正确发送“ListBox2”,或在函数中正确引用它。
例如:
Dim controlName as string
controlName = "ListBox1"
不起作用,即使我将函数定义如下:
Sub populate_listbox(LB As ListBox, dataArray As Variant)
Dim i As Integer: i = 0
For i = LBound(dataArray, 2) + 1 To UBound(dataArray, 2) ' Skip header row
LB.AddItem (dataArray(index, i))
Next i
End Sub
显然,这会导致数据类型不匹配错误。我尝试将“controlName”定义为列表框,但这也不起作用......
尽管也许我对 listBox 的引用是不正确的。我见过很多引用控制对象的方法......
MSForms.ListBox.
ME.ListBox
Forms.Controls.
Worksheet.Shapes.
这个清单一直在继续,但没有什么对我有用。