我已經添加了一個列表框到一個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