[英]How would I loop through table headers to populate a ComboBox drop-down list?
我正在嘗試遍歷表的標題行以填充用戶窗體的 ComboBox 下拉列表。
我的表格的標題行是我的工作表的第二行。
我的想法是使用 intersect() 函數來檢查我的循環是否仍在我的標題范圍內,如果不是,則退出循環。
如果 intersect 為真,則將當前cell.value
添加到 ComboBox 列表中。
我也試圖將標題行存儲到一個數組中,但我無法啟動我的循環來查看我的代碼是否將標題行值設置為一個數組。
我得到的錯誤是
'對象變量或塊變量未設置'
Option Explicit
Dim ws As Worksheet
Public Tbl1 As ListObject
Private Sub ComboBox_DropButtonClick()
Set ws = ActiveSheet
Set Tbl1 = ws.ListObject("Table1")
Dim i As Integer
Dim Tbl1HeaderArray() As Variant
i = 1
ComboBox.RowSource = ""
Do Until i = -1
If Intersect(Tbl1.HeaderRowRange(), ws.Cells(2, i)) Is Nothing Then
i = -1
Else
ComboBox.AddItem (ws.Cells(2, i).Value)
Tbl1HeaderArray(i - 1) = ws.Cells(2, i).Value
i = i + 1
End If
Loop
End Sub
我嘗試了幾種不同的方法,但這是最有希望的。 我對完成任務的不同途徑持開放態度。
編碼
Option Explicit
Private Sub ComboBox1_DropButtonClick()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim tbl As ListObject
Set tbl = ws.ListObjects("Table1")
With ComboBox1
'.Clear
.Column = tbl.HeaderRowRange.Value
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.