Vba 是否可以使用array()创建二维数组?
创建一维数组非常简单:Vba 是否可以使用array()创建二维数组?,vba,Vba,创建一维数组非常简单: Dim A As Variant A = Array(10,20,30) 可以用数组创建二维数组吗?还有其他方法吗?我知道我以前在某个地方见过这个,但我不得不搜索一点: Sub test() Dim A As Variant A = [{1,2,3;4,5,6;7,8,9}] Debug.Print A(2, 2) End Sub 我知道我以前在什么地方见过这个,但我不得不寻找一点: Sub test() Dim A As Variant A = [{1,2,3;4,
Dim A As Variant
A = Array(10,20,30)
可以用数组创建二维数组吗?还有其他方法吗?我知道我以前在某个地方见过这个,但我不得不搜索一点:
Sub test()
Dim A As Variant
A = [{1,2,3;4,5,6;7,8,9}]
Debug.Print A(2, 2)
End Sub
我知道我以前在什么地方见过这个,但我不得不寻找一点:
Sub test()
Dim A As Variant
A = [{1,2,3;4,5,6;7,8,9}]
Debug.Print A(2, 2)
End Sub
我认为这是不可能的。使用数组函数,您只能指定值列表,而不能指定维度 数组函数语法 方阵英语 必需的arglist参数是一个逗号分隔的值列表,这些值分配给变量中包含的数组元素 你可以影响下限。使用选项Base 1,则数组函数返回具有下限1的数组。仅当数组函数使用类型库名称(例如VBA.Array)进行限定时,选项Base才不会影响数组函数返回的数组的下限 要创建二维阵列,只需指定尺寸,例如
Dim multiA(1 To 2, 1 To 2) As String
Dim multiA As Variant
ReDim multiA(1 To 2, 1 To 2)
或者像这样使用ReDim
Dim multiA(1 To 2, 1 To 2) As String
Dim multiA As Variant
ReDim multiA(1 To 2, 1 To 2)
我认为这是不可能的。使用数组函数,您只能指定值列表,而不能指定维度 数组函数语法 方阵英语 必需的arglist参数是一个逗号分隔的值列表,这些值分配给变量中包含的数组元素 你可以影响下限。使用选项Base 1,则数组函数返回具有下限1的数组。仅当数组函数使用类型库名称(例如VBA.Array)进行限定时,选项Base才不会影响数组函数返回的数组的下限 要创建二维阵列,只需指定尺寸,例如
Dim multiA(1 To 2, 1 To 2) As String
Dim multiA As Variant
ReDim multiA(1 To 2, 1 To 2)
或者像这样使用ReDim
Dim multiA(1 To 2, 1 To 2) As String
Dim multiA As Variant
ReDim multiA(1 To 2, 1 To 2)
可以使用数组函数语法创建数组数组:
x = Array(Array(0, 1, 2, 3, 4), Array(100, 101), Array(200, 201, 202))
debug.print x(2)(1)
201
这实际上不是一个二维数组。此技术在其他语言中使用较多。您可以使用数组函数语法创建数组:
x = Array(Array(0, 1, 2, 3, 4), Array(100, 101), Array(200, 201, 202))
debug.print x(2)(1)
201
这实际上不是一个二维数组。这种技术在其他语言中使用得很多。很好的解决方法。[…]需要一个工作表范围,但您提供了一个值数组。令人惊叹的请注意,此技术创建一个基于1的数组,而数组函数返回一个基于零的数组。另外,它在Excel中工作,但在Access中不工作。汤姆,我同意,我最喜欢你的答案。很好的解决方法。[…]需要一个工作表范围,但您提供了一个值数组。令人惊叹的请注意,此技术创建一个基于1的数组,而数组函数返回一个基于零的数组。另外,它在Excel中工作,但在Access中不工作。汤姆,我同意,我最喜欢你的答案。汤姆,这是最好的答案。我试着这么做,但在我的日常工作中没有提到,所以我没有记住它,但不知怎么搞砸了语法。汤姆,这是最好的答案。我试着这么做,但它在我的日常工作中没有出现,所以我没有记住它,但不知怎么搞砸了语法。