所需的 arglist参数 是一个以逗号分隔的值列表,这些值被分配给 Variant 中包含的数组的元素。 如果没有指定任何参数,则将创建零长度的数组。
表明用于引用数组元素的表示法包括变量名称,后跟包含指示所需元素的索引号的圆括号。
在以下示例中,第一个语句创建一个名为 A 的变量作为 Variant。 第二个语句将数组分配给变量 A。 末了的语句将包含在第二个数组元素中的值分配给另一个变量。

VB复制
Dim A As Variant, B As Long, i As LongA = Array(10, 20, 30) ' A is a three element list by default indexed 0 to 2B = A(2) ' B is now 30ReDim Preserve A(4) ' Extend A's length to five elementsA(4) = 40 ' Set the fifth element's valueFor i = LBound(A) To UBound(A) Debug.Print "A(" & i & ") = " & A(i)Next i
利用 Array 函数创建的数组的下限由通过 Option Base 语句指定的下限确定,除非利用类型库的名称(如 VBA.Array)限定 Array。 如果利用类型库名称进行限定,则 Array 不受 Option Base 的影响。
备注
[!注释] 未声明为数组的 Variant 仍可包含一个数组。 Variant 变量可以包含任何类型的数组(固定长度的字符串和用户定义类型除外)。 虽然从观点上说,包含数组的 Variant 与其元素属于类型 Variant 的数组不同,但将按照相同的办法访问数组元素。
示例此示例利用 Array 函数返回包含数组的 Variant。
VB复制
Dim MyWeek, MyDayMyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")' Return values assume lower bound set to 1 (using Option Base' statement).MyDay = MyWeek(2) ' MyDay contains "Tue".MyDay = MyWeek(4) ' MyDay contains "Thu".
修正数组长度
利用ReDim Preserve重新定义数组长度。
Option Base 1Sub testArray() Dim arr As Variant arr = Array(1, True, "VBA", #11/23/2023 7:36:00 PM#) For Each it In arr Debug.Print it Next ' 要给数组添加值,须要先扩容 Debug.Print "arr扩容前长度:" & UBound(arr) ' arr扩容前长度:4 ReDim Preserve arr(UBound(arr) 2) Debug.Print "arr扩容后长度:" & UBound(arr) ' arr扩容前长度:8End Sub