VBA - 列表框和数据
VBA - Listbox and Data
我有一个名为 listbox1 的列表框,它向我显示 sheet1 中的数据,但问题是它没有向我显示所有数据,有时我有 3000 行数据,它向我显示前 50 行,这是如果有人可以提供帮助,我正在使用的代码:
ListBox1.List = Sheets("Sheet1").Range("A1:F3000").Value
如果您只需要一列中的数据,那么您会去:
ListBox1.List = Application.Transpose(Sheets("Sheet1").Range("A1:A3000")) '<== change "A"s in Range("A1:A3000") to wanted column index
否则,如果您想列出更多列中的数据,则必须这样做:
Private Sub UserForm_Initialize()
Dim Data As Variant
...
Data = Sheets("Sheet1").Range("A1:F3000")
With UserForm1.ListBox1 '<== change it with actual UserForm and ListBox names
.ColumnCount = 2
.List = Data
End With
但您可以 select 一个或多个(最多 ListBox
MultiSelect
属性 设置)整个 行,而不是单个 "cells".
尝试将列表框的属性更改为您需要的范围。然后将ColumnCount
改为6.
即:
要使 RowSource
动态化,请在 ColumnCount
属性中输入 6 并删除 RowSource
属性 中的范围,然后将此代码添加到表单中。
Private Sub UserForm_Initialize()
ListBox1.RowSource = Sheets("Sheet1").Range("A1:F3000").Address(external:=True)
End Sub
我有一个名为 listbox1 的列表框,它向我显示 sheet1 中的数据,但问题是它没有向我显示所有数据,有时我有 3000 行数据,它向我显示前 50 行,这是如果有人可以提供帮助,我正在使用的代码:
ListBox1.List = Sheets("Sheet1").Range("A1:F3000").Value
如果您只需要一列中的数据,那么您会去:
ListBox1.List = Application.Transpose(Sheets("Sheet1").Range("A1:A3000")) '<== change "A"s in Range("A1:A3000") to wanted column index
否则,如果您想列出更多列中的数据,则必须这样做:
Private Sub UserForm_Initialize()
Dim Data As Variant
...
Data = Sheets("Sheet1").Range("A1:F3000")
With UserForm1.ListBox1 '<== change it with actual UserForm and ListBox names
.ColumnCount = 2
.List = Data
End With
但您可以 select 一个或多个(最多 ListBox
MultiSelect
属性 设置)整个 行,而不是单个 "cells".
尝试将列表框的属性更改为您需要的范围。然后将ColumnCount
改为6.
即:
要使 RowSource
动态化,请在 ColumnCount
属性中输入 6 并删除 RowSource
属性 中的范围,然后将此代码添加到表单中。
Private Sub UserForm_Initialize()
ListBox1.RowSource = Sheets("Sheet1").Range("A1:F3000").Address(external:=True)
End Sub