我想通過大量工作表循環,然後在每個工作表中填充列表框控件,並用我的代碼填充它們。我使用下面的代碼:Excel VBA - 通過ListBox控件循環
Dim sh As Worksheet
Dim obj As OLEObject
Dim lst As MSForms.ListBox
Dim idx As Long
For idx = 1 To ThisWorkbook.Worksheets.Count
Set sh = ThisWorkbook.Worksheets(idx)
For Each obj In sh.OLEObjects
If obj.progID = "Forms.ListBox.1" Then
Set lst = obj
If (lst.Name = "lst1") Then
Call PopulateSimple(lst, "Table1")
End If
End If
Next
Next idx
這似乎是不幸的,當我將列表框設置爲對象。任何想法如何實現循環遍歷不同工作表中的所有列表框並填充它們?
你需要什麼參考? 'MSForms.ListBox'給了我一個編譯錯誤,「用戶定義類型無法識別」 – 2013-04-10 14:54:20
無視,我找到了MS Forms庫的引用。當我運行這個代碼時,sh.OLEObjects是空的。你如何插入ListBox控件? – 2013-04-10 14:55:48
在我看來,你需要將'Dim lst as MSForms.ListBox'改成'Dim lst as OLEObject',這就是所有... – 2013-04-10 14:57:32