爲什麼這樣的:如何填充動態2D陣列?
Dim Arr As Variant
p = 1
For i = 1 To LRow
If Sheets("Data").Range("U" & 4 + i).Value > 0 Then
ReDim Preserve Arr(1 To p, 1 To 2)
Arr(p, 1) = Sheets("Data").Range("U" & 4 + i).Value
Arr(p, 2) = Sheets("Data").Range("N" & 4 + i).Value
p = p + 1
End If
Next
導致「運行時錯誤9 - 下標越界」在使用ReDim行? 我不知道進入for循環之前的數組行數。列號應始終爲2.儘管如此,但使用一維數組也可以實現同樣的功能! 有什麼幫助嗎?
如果循環之前知道數組的最終大小('1對於LRow'),通過避免在每次迭代中調整大小來調整陣列的大小並享受非常棒的性能提升。 –