使用ReDim Preserve进行矩阵动态调整

时间:2014-10-05 10:36:25

标签: arrays vba

请看一下以下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数组?即使这样做,问题仍然存在。

0 个答案:

没有答案