如何在vba的窗体列表框或组合框控件中添加显示多列数据?

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

如下图所示:

 

       

发表评论