Excel的VBA最简单程序,居然在VB6中运行是不通过???Private Sub UserForm_Initialize()
Dim arr
arr = Sheet2.Range("a1:c" & Sheet2.[a65536].End(xlUp).Row)
With ListBox1
.ColumnCount = 3
.List = arr
End With
End Sub在VB6中运行所表现问题,实在想不通.
.ColumnCount = 3 ---不通过??
.List = arr 不能用数组,想不通 ------
只能用
.list(0) = "ffff"
.list(1) = "ffffzz"
或
List1.AddItem "AAAAAAAAA"
为什么在EXCEL的VBA中,用数组只要两条语句,就能实现ListBox多列显示???
.ColumnCount = 3
.List = arr
而在VB6中,不能用数组.到现在还不能实现--------多列????----想不通?????
Dim arr
arr = Sheet2.Range("a1:c" & Sheet2.[a65536].End(xlUp).Row)
With ListBox1
.ColumnCount = 3
.List = arr
End With
End Sub在VB6中运行所表现问题,实在想不通.
.ColumnCount = 3 ---不通过??
.List = arr 不能用数组,想不通 ------
只能用
.list(0) = "ffff"
.list(1) = "ffffzz"
或
List1.AddItem "AAAAAAAAA"
为什么在EXCEL的VBA中,用数组只要两条语句,就能实现ListBox多列显示???
.ColumnCount = 3
.List = arr
而在VB6中,不能用数组.到现在还不能实现--------多列????----想不通?????
2楼的图示用了----vbTab------实现ListBOX多列?
不想用API技术,实现ListBox多列,
想用一种变通的方法.
不等长的字符串变为等长字符串---请问各位大侠有何高招.
第一行 len(x) = 10 Len(y)=15
第二行 len(x) = 20 Len(y)=18----把len(x)=10的字符串,用Space补-len(x + Space(10))=20
x & vbtab & y现在试一下这种方法吧.
多列是可以的,不过不能在运行时赋值,只能在设计时设置属性栏中的Columns
用数组给listbox赋值是不可以的,只能additem添加。没什么想不通的excel VBA 是后期针对excel开发的(office 2003的版本是vb6.5)
用Label就能实现目标,在listBox多列中绕弯子,花了两时间,太不划算了.
Sub ls()
Dim x(1), y(1)
x(0) = "aa"
y(0) = "ffff"
x(1) = "fffff6f"
y(1) = "ddd99dddjjddd"
ll = Len(x(1))
aa = x(0) & Space(ll - Len(x(0))) & vbTab & y(0) & vbCr
aa = aa & x(1) & vbTab & y(1) & vbCr
MsgBox aa
me.label1 = aa
End Sub
listbox有listbox功能,是label所不具有的。