ReDim现有的数组与第二维?
我在我的VBA函数中声明了一个具有dynamic大小的数组。 因为我不能ReDim二维或更multidimensional array的第一维,我可以添加第二维到一个数组?
这是我如何dynamic地设置我的数组的大小。
Dim nameArray() As String Dim arrayCount As Long For i = 1 To 100 ReDim Preserve nameArray(1 to arrayCount) nameArray(arrayCount) = "Hello World" arrayCount = arrayCount + 1 Next i
现在我想添加第二个维度。
ReDim Preserve nameArray(1 To arrayCount, 1 To 5)
不起作用。
有没有解决方法?
没有任何内置的方法来做到这一点。 只需创build一个新的二维数组,并将现有的一维数组的内容转移到新数组的第一行。
这是这个function的作用:
Function AddDimension(arr() As String, newLBound As Long, NewUBound As Long) As String() Dim i As Long Dim arrOut() As String ReDim arrOut(LBound(arr) To UBound(arr), newLBound To NewUBound) For i = LBound(arr) To UBound(arr) arrOut(i, newLBound) = arr(i) Next i AddDimension = arrOut End Function
用法示例:
nameArray = AddDimension(nameArray, 1, 5)