ReDim Preserve
,当我第一次循环迭代时ReDim
时,代码可以正常工作-增加数组的大小,但数组的前一部分为空。ReDim Preserve arrTips(Counterarr, 5)
中出现错误。 代码:
Option Explicit
Sub test()
Dim arrTips() As Variant
Dim i As Long, Counterarr As Long
'Set counter to start array
Counterarr = 0
For i = 1 To 10
'Increase array lenght
ReDim Preserve arrTips(Counterarr, 5)
arrTips(Counterarr, 0) = ""
arrTips(Counterarr, 1) = ""
arrTips(Counterarr, 2) = ""
arrTips(Counterarr, 3) = ""
arrTips(Counterarr, 4) = ""
arrTips(Counterarr, 5) = ""
Counterarr = Counterarr + 1
Next i
End Sub
答案 0 :(得分:3)
ReDim Preserve
只能调整最后一个参数的大小,而使用Preserve
时不能调整其他参数的大小。
根据ReDim statement的官方文档:
如果使用Preserve关键字,则只能调整最后一个数组维的大小,而根本不能更改维数。例如,如果数组只有一个维,则可以调整该维的大小,因为它是最后一个维。但是,如果数组具有两个或多个维,则可以仅更改最后一个维的大小,并仍然保留数组的内容。