在VBA中填充列表框时将选定行显示为列
我试图用Excel中的一系列单元格填充列表框 我的数据集的类别(大约120个)比实际数据(大约25个)多得多,因此我选择按行列出类别,并在每列中列出实际数据。这样我就不必左右滚动那么多,只需上下滚动即可 我希望能够制作一个列表框,该列表框将“仅某些选定行”(例如第2、5、6行)显示为列表框中的列,并将其相应的数据显示为列表框中的行在VBA中填充列表框时将选定行显示为列,vba,excel,listbox,Vba,Excel,Listbox,我试图用Excel中的一系列单元格填充列表框 我的数据集的类别(大约120个)比实际数据(大约25个)多得多,因此我选择按行列出类别,并在每列中列出实际数据。这样我就不必左右滚动那么多,只需上下滚动即可 我希望能够制作一个列表框,该列表框将“仅某些选定行”(例如第2、5、6行)显示为列表框中的列,并将其相应的数据显示为列表框中的行 这可能吗?试试看。当然,根据需要进行修改: Sub FillListBox() Dim a() As Variant a = Range("A1:D4
这可能吗?试试看。当然,根据需要进行修改:
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
好吧,要么我不应该回答这个问题,要么你的描述中有行和列混淆了。看起来您的工作表向下大约有120个值(数据行),跨(数据列)大约有25个值,对吗?