【问题标题】:Show selected rows as columns when populating a listbox in VBA在 VBA 中填充列表框时将所选行显示为列
【发布时间】:2015-06-19 23:05:16
【问题描述】:

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

我的数据集的类别(约 120 个)比实际数据(约 25 个)多得多,因此我选择按行列出类别,并在每列中列出实际数据。这样我就不必左右滚动太多,而只需上下滚动。

我希望能够制作一个列表框,将 “仅某些选定的行”(例如第 2、5、6 行)显示为我的列表框中的列,并将它们的相应数据显示为我的列表框中的行列表框。

这可能吗?

【问题讨论】:

  • 好的,要么我不应该回答这个问题,要么你的描述中混淆了行和列。您的工作表似乎有大约 120 个值(数据行)和大约 25 个值(数据列)。对吗?

标签: vba excel listbox


【解决方案1】:

试试这个。当然根据需要进行修改:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多