[VBA ] 動態陣列索引超出範團?!

看板Visual_Basic作者 (tianne)時間14年前 (2010/06/19 22:12), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/3 (看更多)
請教版上各位高手們 小弟用的是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檔,似乎不應該發生這種問題咧~ 麻煩版上大大幫忙解答囉!! 謝謝 !! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.81.176

06/19 22:18, , 1F
() 代表不在宣告時指定,而非自動增長
06/19 22:18, 1F

06/19 22:19, , 2F
如果是 VB 的話,可以用 redim preserve 去重新設定上限
06/19 22:19, 2F

06/19 22:19, , 3F
VBA 我不熟,所以語法可能要自己去查一下 lol
06/19 22:19, 3F

06/20 19:47, , 4F
開始用()宣告,陣列要用的時候要redim宣告給定陣列大小
06/20 19:47, 4F

06/20 19:48, , 5F
GOOGLE 用redim就有很多可以參考的了
06/20 19:48, 5F

06/21 00:14, , 6F
嗯嗯...看來VBA上即使定義了動態陣列,放資料前還是
06/21 00:14, 6F

06/21 00:15, , 7F
得用ReDim定義過一次...之前用Matlab習慣了
06/21 00:15, 7F

06/21 00:15, , 8F
沒想到得再定義一次,謝謝二位大大回答!!
06/21 00:15, 8F
文章代碼(AID): #1C7D1V2w (Visual_Basic)
文章代碼(AID): #1C7D1V2w (Visual_Basic)