【发布时间】:2016-09-15 19:29:34
【问题描述】:
我有以下函数,我用它来用数组中的数据填充用户表单列表框:
Function PopulateListboxWithArray(lstbox As MSForms.ListBox, var As Variant)
With lstbox
If Not IsEmpty(var) Then
.Clear
.list = Application.Transpose(var)
.ListIndex = -1
End If
End With
End Function
我的列表框包含具有以下属性的两列:
问题
数组中的数据有一个 ID 列和一个 lastname 列。我不希望用户看到 ID 列,所以我在表单中将该列宽度设置为 0。
当我导入多于一行的数据时,数据会按预期显示在列表框中。
但是,当数组只包含一行数据时,列表框显示为空白!
我尝试删除上图中的列宽,当我这样做并重新导入一行数据时,我得到的 ID 和姓氏堆叠在一起。但这当然不是我想要的结果。
我什至尝试用.list = var 替换.list = Application.Transpose(var) 无济于事。
我在这里做错了什么,还是有更好的方法来填充列表框?
干杯
【问题讨论】: