VBA - 列表框和数据

时间:2016-04-29 08:30:08

标签: vba excel-vba userform excel

我有一个名为listbox1的列表框,它向我显示了sheet1中的数据,但问题是它没有显示所有数据,有时我有3000行数据,它显示我前50行这是如果有人可以提供帮助,我正在使用的代码:

ListBox1.List = Sheets("Sheet1").Range("A1:F3000").Value

2 个答案:

答案 0 :(得分:0)

如果您只需要来自一列的数据,那么您就去了:

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

但您可以选择一个或多个(最多ListBox MultiSelect属性设置)整个行,而不是单个“单元格”。

答案 1 :(得分:0)

尝试将列表框的属性更改为您需要的范围。然后将ColumnCount更改为6。

即: https://gyazo.com/fb0081faa87eda662f8e3446e58fbd23

要使RowSource动态,请在ColumnCount proterty上输入6并删除RowSource属性中的范围,并将此代码添加到表单中。

Private Sub UserForm_Initialize()
  ListBox1.RowSource =    Sheets("Sheet1").Range("A1:F3000").Address(external:=True)
End Sub