vba 二维数组 建立和赋值

我想建立一个二维数组,用array(array(),array()。。)的形式,只能建立三行,再多就出错,我每行是一些int,或字符串的内容,每行30列。我想问是 我赋值可以一行一行赋值吗?或者有什么更好的赋值方法

array函数只能对一维数组赋值。
定义二维数组可用 Dim和redim
赋值,如果数据有规律,可用循环,否则只能一个一个赋值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-19
可以试一试以下的代码, 在 VBA 内动态定义一个二维数据
用 2 组关键符号定义 二维 数组 ( 不用 函数 array() )
1)[ { }] ' 在最外围, 把数组数据括起来
2) ; ' 每一行数据的分隔符

dim arr() as variant
arr = [{1, "陈达文", "湖北", "武汉", ... 30个数据 ; _
2, "杨帆","四川", "成都", ...... 30 个数据 ; _
3, "李宗伟", "马来西亚", "吉隆波", ....... 30 个数据 }]
注 : 每一行的数据, 需要以 分号 ; 作为 分隔符
以上公式, arr 被定义为一个二维数据,有 3 行数据, 每一行 30列, 即 3 x 30 数组
其他读取 arr 内数值的例子
? arr(1,2) 得出 陈达文
? arr(1,3) 得出 湖北
? arr(3,2) 得出 李宗伟
?ubound(arr,1) 得出 3 ' 二维数组, 3行
? ubound(arr,2) 得出 30 ' 二维数组, 30列