在VBA中填充列表框时,将所选行显示为列

时间:2015-06-18 15:37:30

标签: excel vba excel-vba listbox

我尝试使用 Excel 中的一系列单元格填充列表框。

我的数据集的类别(大约120个)比实际数据(大约25个)多,因此我选择列出行中的类别,以及每列中的实际数据。这样我就不必左右滚动,而只是向上和向下滚动。

我希望能够创建一个列表框,显示"只有某些选定的行" (例如行2,5,6)作为列表框中的列及其对应的列表框数据作为列表框中的行。

这可能吗?

1 个答案:

答案 0 :(得分: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