VBA 数组经Array赋值后 代入函数出错
FunctionFive(Arr()AsString)。。。。。。EndFunctionSubTest1()'DimA(0To4)AsString'用这个行'A(0)="...
Function Five(Arr() As String)
。。。。。。
End Function
Sub Test1()
'Dim A(0 To 4) As String '用这个行
'A(0) = "A"
'A(1) = "T"
'A(2) = "C"
'A(3) = "G"
'A(4) = "A"
Dim A() ‘用这个就不行
A = Array("A", "T", "C", "G", "C")
Five A() ‘Five是定义了的函数
End Sub
求详细解释 难道是Array返回 变体型(Variant)有关
我不想一个一个赋值 如用下面这个该怎么改 改后Five 后用A 还是A() 展开
。。。。。。
End Function
Sub Test1()
'Dim A(0 To 4) As String '用这个行
'A(0) = "A"
'A(1) = "T"
'A(2) = "C"
'A(3) = "G"
'A(4) = "A"
Dim A() ‘用这个就不行
A = Array("A", "T", "C", "G", "C")
Five A() ‘Five是定义了的函数
End Sub
求详细解释 难道是Array返回 变体型(Variant)有关
我不想一个一个赋值 如用下面这个该怎么改 改后Five 后用A 还是A() 展开
2个回答
展开全部
我也遇到过这个问题。原因是array只能复制给变体型变量,不能赋值给数组,所以,
dim A()之后,在A=Array 必然报错。
dim A 之后,在 A = Array 就可以,但是,你后面又要调用function ,你的function又要求数组做参数,支持A()不支持A。
所以,我的解决办法是,转化,
dim A
A=Array(……)
dim B() as string, ele, i
for each ele in A
i=i+1
redim preserve B(1 to i)
B(i)=ele
next ele
Five B
dim A()之后,在A=Array 必然报错。
dim A 之后,在 A = Array 就可以,但是,你后面又要调用function ,你的function又要求数组做参数,支持A()不支持A。
所以,我的解决办法是,转化,
dim A
A=Array(……)
dim B() as string, ele, i
for each ele in A
i=i+1
redim preserve B(1 to i)
B(i)=ele
next ele
Five B
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询