VBA数组知识,数组的组合和嵌套,一维数组的组合并非二维数组,二维数组的组合并非三维数组


1 数组嵌套的知识
1维数组的嵌套并非2维数组
二维数组的嵌套并非三维数组
 

2 数组的嵌套写法
1维数组的嵌套:arr(m)(i)
2维数组的嵌套:arr(m)(i,j)
Sub test1001()


Debug.Print "测试一维数组和其嵌套"
'一维数组
arr1 = Array(1, 3, 5, 7, 9)
arr2 = Array(2, 4, 6, 8, 10)


'一维数组的嵌套
arr3 = Array(arr1, arr2)
'Debug.Print arr3(1, 1) '证明了一维数组的嵌套,只是嵌套类型,不是2维数组
Debug.Print arr3(1)(1)

Debug.Print


Debug.Print "测试二维数组和其嵌套"

Dim arr51()
ReDim arr51(3, 3)
'2维数组
For I = 1 To 3
For J = 1 To 3
arr51(I, J) = 2 * I * J
Debug.Print arr51(I, J);
Next
Debug.Print
Next
Debug.Print


Debug.Print arr51(1, 1)
Debug.Print


Dim arr52()
ReDim arr52(4, 4)
'2维数组
For I = 1 To 4
For J = 1 To 4
arr52(I, J) = 3 * I * J
Debug.Print arr52(I, J);
Next
Debug.Print
Next
Debug.Print


Debug.Print arr52(1, 1)
Debug.Print

'2维数组的嵌套
arr53 = Array(arr51, arr52)
Debug.Print arr53(1)(1, 1) '二维数组的嵌套,也不需要2个数组行列相同
Debug.Print



Debug.Print "测试二维数组和其嵌套,第2种办法,[{}] 这种写法必须index从1开始"
'2维数组
'arr11 = [{1,3,5};{5,7,9}]
'arr12 = [{2,4,6};{6,8,10}]
arr11 = [{1,3,5;5,7,9}]
arr12 = [{2,4,6;6,8,10}]
Debug.Print arr11(1, 1)



'2维数组的嵌套
arr13 = Array(arr11, arr12)
Debug.Print arr13(1)(1, 1)




Debug.Print "测试二维数组和其嵌套,第3种办法---[{,,, ; ,,,}]只有一种写法 []其他写法不是数组"
'2维数组
'arr21 = [{1,3,5};{5,7,9}]
'arr22 = [{2,4,6};{6,8,10}]
arr21 = [{1,3,5},{5,7,9}]
arr22 = [{2,4,6},{6,8,10}]


End Sub
 

 

 

 

 

 

其实我这上面的例子不算嵌套数组,而是组合数组

下面这张才是嵌套数组

嵌套数组还可以  transpose 为二维数组

 

http://club.excelhome.net/thread-640048-1-1.html
————————————————
版权声明:本文为CSDN博主「奔跑的犀牛先生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xuemanqianshan/article/details/104011670


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM