请看一下以下VBA子程序:
Sub mySub()
Dim i As Integer
Dim j As Integer
Dim myArray() As Double
For i = 1 To 10
For j = 1 To 5
ReDim Preserve myArray(1 To i, 1 To j)
myArray(i, j) = i + j
Next j
Next i
End Sub
这个小例子旨在声明一个二维数组并通过ReDim Preserve
对它进行动态调整:在循环结束时它应该返回一个二维数组,其每个元素都是行的总和和列索引。
然而,由于下标超出范围,这行代码会返回错误:
ReDim Preserve myArray(1 To i, 1 To j)
在使用ReDim
之前,我是否需要ReDim Preserve
数组?即使这样做,问题仍然存在。