vba的窗体列表框或组合框控件可以显示多列数据。
要在窗体列表框或组合框控件中显示多列数据,首先要设置ColumnCount属性,然后再添加多列数据,可以采用以下两种方式:
一、列表框或组合框逐行多列数据添加
列表框或组合框逐行多列数据添加步骤如下:
1.设置列表框或组合框控件的ColumnCount属性为具体的列数;
2.用列表框或组合框控件的AddItem方法先添加空行;
3.用列表框或组合框控件的List 或者 Column 属性修改具体的某行某列的数据。
以下代码将向窗体frm1的列表框控件ListBox1中添加11行3列数据:
Sub QQ1722187970()
With frm1.ListBox1
'设置列数
.ColumnCount = 3
For i = 0 To 10
'先添加空行
.AddItem
'然后设置当前行的前3列的数据
'行列的编号都是以0开始计算的
.List(i, 0) = "a" & i
.List(i, 1) = "a" & i
.List(i, 2) = "a" & i
Next i
End With
End Sub
二、列表框或组合框整体添加数组
列表框或组合框整体添加数组的步骤如下:
1.获取二维数组的列数;
2.用列表框或组合框控件的List 或者 Column 属性直接整体添加二维数组。
当然也可以用列表框或组合框控件的List 或者 Column 属性直接整体添加一维数组
以下代码将向窗体frm1的列表框控件ListBox1中一次性添加一维数组arr:
Sub QQ1722187970()
arr = Array(1, 2, 3, 4, 5)
With frm1.ListBox1
'添加一维数组
.List = arr
End With
End Sub
以下代码将向窗体frm1的列表框控件ListBox1中一次性添加二维数组arr:
Sub QQ1722187970()
'生成二维数组
Dim arr(10, 2)
For i = 0 To UBound(arr)
arr(i, 0) = "a" & i
arr(i, 1) = "aa" & i
arr(i, 2) = "aaa" & i
Next i
With frm1.ListBox1
'获取列数
.ColumnCount = UBound(arr, 2) + 1
'添加二维数组
.List = arr
End With
End Sub
如下图所示:



发表评论