0
我在VBA中循環處理Excel範圍內的一些數據(只有8個值),但我好像在中間得到一個'幻像'空數組值。VBA Phantom空陣列值
這是我如何構建數組。循環的範圍導致找到2個值,即2個值='rad'。
' arRoPtsXY is a 2D array
counter2 = UBound(arRoPtsXY, 2)
Dim arSecPtCt()
loopCtr = 0
For i = 1 To counter2
rad = Sqr((secCX - arRoPtsXY(1, i))^2 + (secCY - arRoPtsXY(2, i))^2)
If rad = secR Then
ReDim Preserve arSecPtCt(i)
arSecPtCt(loopCtr) = i
loopCtr = loopCtr + 1
End If
Next i
但是,當我執行此:
For a = LBound(arSecPtCt) To UBound(arSecPtCt)
Debug.Print arSecPtCt(a)
Next a
我得到這樣的輸出:
1
3
'end
注意,上面有2個空格被輸出(3後,我加入'end
在這裏顯示空格),就像數組'空間'存在一樣,但它是空的。
如果我做一個debug.print UBound(arSecPtCt)
我得到'3',意思是0,1,2,3佔用數組'空格'。
我只想我的數組是:
1
3
因爲只有第一和第三值=「弧度」。
如果我debug.print i
在if循環期間,它只輸出1和3,沒有空格,所以循環似乎工作,但我只是得到這些額外的空白。
希望有人能把我帶出我的苦難。
非常感謝提前。
喬恩
唉...有時你看不到木樹:)認爲這將是令人難以置信的東西簡單我忽略了。非常感謝@RonRosenfeld – j0nr