我已经添加了一个列表框到一个SHEET(而不是“UserForm”) 我用鼠标做了这个。 我点击了小锤子和扳手图标。如何使用变量名称在工作表上引用控件对象?
此列表框似乎使用代码,因为这很容易引用:
ListBox1.Clear
或
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.
该名单继续,并没有为我工作。
谢谢。我按照justnS的回答修改了我的子集,并按照上面所述设置了我的变量(cMyListbox),并且组合起作用了。感谢关于填写清单的提示。 – Symmitchry 2012-01-19 17:06:16
没有问题,很高兴它为你工作。 – Reafidy 2012-01-19 19:12:11