
所以我主要使用java和C++,VBA對我來說很新。我很困惑為什麼我不斷收到錯誤 9 - “索引超出範圍”。這是代碼:
Dim count As Integer
Dim j As Integer
count = months.count
Dim monthsArr() As String
ReDim monthsArr(1, count)
For j = 1 To count
monthsArr(j) = months.Item(j)
Next j
計數等於 10(我用 msgBox 檢查過),所以月份是長度為 10 的 ArrayList。我在這一行不斷收到錯誤:
monthsArr(j) = months.Item(j)
我以為 VBA 對集合使用 1 索引,但我真的不知道。有人知道為什麼我總是收到此錯誤嗎?謝謝
答案1
您已將尺寸重新調整monthsArr
為二維數組ReDim monthsArr(1, count)
。如果它應該保留為二維數組,那麼當您為其分配元素時,也必須顯示數組在兩個維度上的哪一部分。您只使用一個:monthsArr(j) = months.Item(j)
。它應該類似於數組的第二個維度在monthsArr(j,i) = months.Item(j)
哪裡。i
另請注意,0 是數組中的第一個,而不是 1 monthsArr(1,count)
。 。
如果它不是二維數組而是一維數組,那麼您應該使用:ReDim monthsArr(count)
或ReDim monthsArr(count-1)
作為從 0 開始的數組。