2015-06-18 45 views
0

我試圖用Excel中的一系列單元格填充列表框。在VBA中填充列表框時顯示選定的行作爲列

我的數據集有比實際數據(約25)更多的類別(約120),因此我選擇列出行中的類別以及每列中的實際數據。這樣我就不必左右滾動,而是上下滾動。

我希望能夠創建一個列表框,顯示「只有某些選定的行」(例如行2,5,6)作爲我的列表框中的列和它們對應的數據作爲列表框中的行。

這可能嗎?

+0

好的,要麼我不應該回答這個問題,要麼你的描述中混合了行和列。看起來你的工作表有大約120個值(數據行)和大約25個值(數據列)。對嗎? – tbur

回答

0

試試這個。當然,根據需要進行修改:

Sub FillListBox() 
    Dim a() As Variant 
    a = Range("A1:D4") 

    'Test work area is range("A1:D4") 
    'on Sheet1 
    'Sheet1 has a Listbox named "ListBox1" 

    With Sheets(1).ListBox1 
     .ColumnCount = 3 ' set the number of columns in the Listbox 
     .List = Application.Index(Application.Transpose(a), _ 
        Application.Evaluate(_ 
        "Row(1:" & UBound(a) & ")"), Array(1, 3, 4)) 
     'Array(1, 3, 4)just above are the three rows to put into the 
     'listbox 
    End With 
End Sub