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