把二维数组的二维数值看作是EXCEL的行和列完全就是对数组的误解,数组不是EXCELVBA独创的东西, 在很多的编程语言中都有数组,是EXCEL的行列表格适应了二维数组,而不是数组适应了EXCEL的行和列. 在你开始学习EXCELVBA时,把二维数组的二维比作行和列,只为了让你形象地理解数组的基本结构, 但你不能把二者给划上等号. 数组本身仅仅是一个树形的有序列的数值集合,可以用序号索引到对应的数值. 程序运行时创建的数组相当于运行时在内存中临时生成的一个树形的可用序号索引的小型数据库,仅此而已. 所以你可以根据你的数据索引规则来创建数组的维数, 数组不但可以是arr(x,x,x,....) 还可以是arr(x)(x)(...).... 如: arr = Array(Sheet1.Range("a1:d5").Value, Sheet2.Range("a1:d6").Value, Sheet3.Range("a1:d5").Value)
Dim arr2(2) For i = 0 To 2 arr2(i) = Array(Sheet1.Range("a1:d5").Value, Sheet2.Range("a1:d6").Value, Sheet3.Range("a1:d5").Value) Next |