Dim a(10) as string
Dim b(10) as string
Dim c(10) as string
Dim d(10) as String
d= Array(a,b,c)
这不起作用。
答案 0 :(得分:1)
你的例子非常接近。您需要做的就是将“d”声明为Variant而不是String-array,因为它不是:
Private Sub arraytest()
Dim a(10) As String
Dim b(10) As String
Dim c(10) As String
a(0) = "test"
Dim arrD As Variant 'Dimensionless variable to hold the result of "Array-Function"
arrD = Array(a, b, c)
Debug.Print arrD(0)(0)
End Sub
将“Array”视为构建具有所有正确尺寸和属性的Array-Object的函数。所有你需要的东西都是持有它(变种),不管它到底是什么。
请注意,与普通的多维数组相反,您可以通过(x)(y)
而非(x,y)
访问值。