Excel VBA:ReDim数组,但保留值

假设我有这样的代码:

Dim resultArray() As Double ReDim resultArray(1 to 10) As Double Dim i As Integer For i = 1 to 10 resultArray(i) = i Next ReDim resultArray(1 to 20) As Double For i = 11 To 20 resultArray(i) = i Next 

这样的代码是可能的吗? 第一个周期的数值会保留在数组中吗?

编辑 :我知道数组的最大长度。 20只是一个数字,我直到节目结束才知道。

你可以通过ReDim Preserve来做到这一点,但是这只允许你改变数组的外部长度。 但是,如果您确实知道数组的最大大小(就像您在这里所做的那样),最好将其调小到最大值。 如果需要的话,也可以使用ReDim Preserve在最后减小数组的大小。

 Dim resultArray() As Double ReDim resultArray(1 to 10) As Double Dim i As Integer For i = 1 to 10 resultArray(i) = i Next ReDim Preserve resultArray(1 to 20) As Double For i = 11 To 20 resultArray(i) = i Next 

使用保留关键字

  ReDim Preserve resultArray(1 to 20) As Double