簡體   English   中英

我將如何遍歷表頭以填充 ComboBox 下拉列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM