VBA二维数组动态添加
时间: 2023-11-23 09:07:52 浏览: 112
动态二维数组
5星 · 资源好评率100%
在 VBA 中,我们可以使用 ReDim 语句来动态调整数组的大小,并且可以使用 Preserve 关键字来保留数组中的数据。下面是一个示例代码,演示了如何动态添加二维数组:
```
Sub AddTo2DArray()
Dim myArray() As Variant
Dim i As Long, j As Long
'初始化数组
ReDim myArray(1 To 2, 1 To 2)
myArray(1, 1) = "A"
myArray(1, 2) = "B"
myArray(2, 1) = "C"
myArray(2, 2) = "D"
'打印原始数组
For i = 1 To UBound(myArray, 1)
For j = 1 To UBound(myArray, 2)
Debug.Print myArray(i, j)
Next j
Next i
'动态添加一行数据
ReDim Preserve myArray(1 To UBound(myArray, 1) + 1, 1 To UBound(myArray, 2))
myArray(3, 1) = "E"
myArray(3, 2) = "F"
'打印添加后的数组
For i = 1 To UBound(myArray, 1)
For j = 1 To UBound(myArray, 2)
Debug.Print myArray(i, j)
Next j
Next i
End Sub
```
在这个示例代码中,我们首先初始化了一个 2x2 的二维数组,并且给数组赋了初始值。然后,我们使用 ReDim 语句和 Preserve 关键字动态添加了一行数据,并且打印了添加后的数组。
需要注意的是,在使用 Preserve 关键字调整数组大小时,只能调整最后一个维度的大小,不能调整其他维度的大小。如果需要调整其他维度的大小,需要先将数据复制到一个新的数组中,然后再调整数组大小。
阅读全文