作者unfinish (笑吟吟的淫淫笑)
看板Visual_Basic
標題[VBA ] 動態陣列如何做全域宣告
時間Tue Jul 7 09:48:41 2015
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是不行的
執行時會出現錯誤訊息「已宣告過陣列的維度」
請問全域或靜態的動態陣列該怎麼做
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.70.34
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1436233724.A.206.html
1F:→ hulapig: 一開始宣告時,不要指定維度,再用Redim指定 07/07 10:54
謝謝你的熱心解答 但是...
XD 你答的是我已知而且難以克服的部分
真正的問題你沒回答到啊 XD
※ 編輯: unfinish (59.120.70.34), 07/07/2015 11:20:16
2F:→ peakhour: 參考我這篇文章程式碼,aPix1()不規則矩陣 (jagged arra 07/07 19:55
3F:→ peakhour: (jagged array)的用法。 07/07 19:55
4F:→ peakhour: 不會貼網址,做罷。 07/07 19:58
6F:推 foxher: arraylist正解(vb.net) 07/23 23:29