[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