动态数组与静态数组
在声明数组时将指定数组的上下界限与维度,由此创建的数组为静态数组。如下代码声明5行2列的静态二维数组,在代码中不再允许修改数组的维度。
Dim aStr(1 to 5,1 to 2) As String
Sub StaticArray()
Dim astrStatic(1 To 5, 1 To 4) As String
ReDim Preserve astrStatic(1 To 5, 1 To 3)
End Sub
运行以上过程,将返回"数组维数已定义"错误提示,如下图所示。
在实际应用中,如果需要数组根据代码运行的结果动态调整数组大小,可以使用ReDim语句,其语法格式如下。
ReDim [Preserve] 数组变量 (元素与维度)
其中,Preserve为可选关键字,表示是否保留数组中的原有数据。
在首次声明某个数组时,如果不指定数组的上下界限与维度,此时所创建的数组为动态数组。如下代码声明了一个未指定维度与元素个数的动态数组。
Dim astrList() As String
在此过程中可以先定义动态数组,然后修改动态数组大小,示例代码如下。
Sub RedimArray()
Dim avntData() As Variant
D