Re: [VBA ] 動態陣列索引超出範團?!
※ 引述《A1pha ([αλφα])》之銘言:
: ※ 引述《tianne (tianne)》之銘言:
: : 請教版上各位高手們
: : 小弟用的是MS Office 2003 Excel VBA
: : 但每次程式裡有動態陣列時,總是會出現"陣列索引超出範圍"
: : 簡單範例如下:
: : Sub array_test()
: : Dim T_array() As Integer
: : For i = 0 To 4
: : T_array(i) = i
: : Next i
: : End Sub
: : 但若改成一般陣列,則可正常執行:
: : Sub array_test()
: : Dim T_array(5) As Integer
: : For i = 0 To 4
: : T_array(i) = i
: : Next i
: : End Sub
: : 我查過了Help檔,似乎不應該發生這種問題咧~
: : 麻煩版上大大幫忙解答囉!! 謝謝 !!
: 借個標題@@"
: 我也有同樣的問題@@"
: 不過我有Redim但是還是出現"陣列索引超出範圍"
: 我是這樣寫的:
: 在Global的地方
: Dim LightPosition() As Integer
: 然後在Main()裡面:
: Redim LightPosition(0, 1) As Integer
: 然後在另外個SUB裡面:
: Sub RecordLightPosition()
: ReDim Preserve LightPosition(UBound(LightPosition) + 1, 1) As Integer
^^^^^^^^
我把這Preserve拿掉之後,就可以了@@"
為什麼會這樣勒?
啊,
剛剛查了一下,
才知道,
當使用Preserve的時候,
Redim只能重新定義最後一維的維度...
所以我試圖改變地一維的維度是錯的...囧
: end Sub
: 結果就卡在黃色的那行..囧
: 我連資料都還沒開始寫....
: 原本打算在Redim Preserve LightPosition後,
: 把資料寫在+1的那格,
: 但是就在+1時就卡住了...囧
: 怎麼會這樣勒?QQ
: 太慘烈了 囧
--
"Every kid who has dreamed of being a baseball player has stood in his front
yard with a bat and said to himself, "Bottom of the ninth, Game 7 of the
World Series, the bases are loaded," and then envisioned hitting a home run
to win the game. My job is to shatter that dream."
By Huston Street
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.202.55.129
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章