Dim d
d = Array(Array(1, 2, 3), Array(4, 5, 6), Array(7, 8, 9))
Debug.Print d(1, 1)
为什么Debug.Print d(1, 1)这一句老是出错啊?
结论:数组声明方式和访问方式不同导致。
先贴一个测试通过的数组遍历方式的代码:
注意遍历使用的方法,两层数据,每次的访问方式,是直接对该元素数组填写索引值获取。
所以你的正确访问方式是:
Debug.Print d(1)(1)
因为这与数组的声明方式有关。本题目中使用 Dim d 的方式,声明了一个variant类型的变量。
接着赋值的时候,给与了一个二维数组,所以范文方式必须与赋值方式持平。
官方文档给出的方式,是显式声明数组的维度,并挨个赋值。VB就是这样。比如下面的示例:
总而言之,使用明确的数据类型声明二维数组,是根据索引正确访问数组的关键。
我是@程序员小助手,持续分享编程知识,欢迎关注。