|
发表于 2023-3-21 19:36
来自手机
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 ivccav 于 2023-3-21 19:46 编辑
用additem赋值是只能10列,但使用ListBox1.List = arr一次性赋值,没有列数限制。因此你可以把查询结果先保存在另一个数组中,最后一次性赋值,效率还比additem一个个赋值快。
最好用column属性赋值,方便保存结果。可参考我帖子7楼的代码,以下是代码片段:
https://club.excelhome.net/forum.php?mod=viewthread&tid=1451605&extra=
Listbox1.Clear
For i = 2 To UBound(arr)
s = arr(i, 3) & "|" & arr(i, 4) & "|" & arr(i, 5)
If InStr(s, t) Then
ReDim Preserve brr(1 To UBound(arr, 2), 1 To UBound(brr, 2) + 1)
u = UBound(brr, 2)
For j = 1 To UBound(arr, 2) '想显示几列就赋值几列
brr(j, u) = arr(i, j)
Next
End If
Next
Listbox1.Column = brr '用Column属性赋值无需转置数组 |
评分
-
2
查看全部评分
-
|