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

  • 0
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值