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