创建一维数组非常简单:
Dim A As Variant
A = Array(10,20,30)
是否可以使用Array()创建二维数组?还有其他方法吗?
答案 0 :(得分:6)
我知道我之前曾在某个地方见过这个,但不得不搜索一下:
Sub test()
Dim A As Variant
A = [{1,2,3;4,5,6;7,8,9}]
Debug.Print A(2, 2)
End Sub
答案 1 :(得分:2)
您可以使用Array()函数语法创建数组数组:
x = Array(Array(0, 1, 2, 3, 4), Array(100, 101), Array(200, 201, 202))
debug.print x(2)(1)
201
这实际上不是一个二维数组。这种技术在其他语言中使用很多。
答案 2 :(得分:1)
我认为这是不可能的。使用Array function
您只能指定值列表,而不是dimemsions。
数组函数语法
阵列(arglist中)
所需的arglist
参数是逗号分隔的值列表,它们分配给Variant中包含的数组元素。
您可以影响下限。使用 Option Base 1 ,然后Array()
函数返回下限 1 的数组。仅当Array()
函数符合类型库名称时,例如VBA.Array()
然后Option Base
不会影响Array()
函数返回的数组的下限。
要创建2D数组,只需指定尺寸,例如像这样
Dim multiA(1 To 2, 1 To 2) As String
或者像这样使用ReDim
Dim multiA As Variant
ReDim multiA(1 To 2, 1 To 2)