[VBA ] 動態陣列如何做全域宣告

作者: unfinish (百年孤寂)   2015-07-07 09:48:41
1 Option Base 1
2 Private Sub ArrayTest()
3 Static Ary()
4 ReDim ary(2,1)
5 ReDim Preserve Ary(2, UBound(Ary, 2) + 1)
6 End Sub
從第3行看
其實我本來要問的是"靜態的動態陣列"
這種標題大家第一眼可能會搞不清楚我在說什麼
所以就把標題改以全域動態陣列來發問
但是不管靜態還是全域 我都會遇到相同的問題
就是第4行... 會把資料全部洗掉
a.先宣告一個空陣列 b.再重定義維度大小 c.然後再擴充
這是我唯一知道的動態用法 而且好像也只能這麼做
Dim Ary(2,1)
ReDim Preserve Ary(2, UBound(Ary, 2) + 1)
直接在宣告時給維度 然後擴充 跳過step b是不行的
執行時會出現錯誤訊息「已宣告過陣列的維度」
請問全域或靜態的動態陣列該怎麼做
謝謝大家
作者: hulapig (呼拉豬)   2015-07-07 10:54:00
一開始宣告時,不要指定維度,再用Redim指定
作者: peakhour   2015-07-07 19:55:00
參考我這篇文章程式碼,aPix1()不規則矩陣 (jagged arra(jagged array)的用法。不會貼網址,做罷。http://0rz.tw/3ivIw
作者: foxher (狐狸)   2015-07-23 23:29:00
arraylist正解(vb.net)

Links booklink

Contact Us: admin [ a t ] ucptt.com