常规流程
通常,运用数组处理Excel数据的流程是:
常规流程
从中可知,数组充当了容器和处理器的作用;它就如一个中介,快速帮助我们处理问题解决问题达成结果。
为什么要多此一举使用中介?最大的优势是:效率高。就如我们生活当中的中介一样,往往业务熟悉,效率可观。(黑中介除外.....)
使用数组处理问题,我们第一步的操作是:将数据放入空白的数组当中(数据快到碗里去)。
数组的数据来源,主要是来自于工作表的数据,以及一些函数生成的数据,比如Array函数和Split函数等。
1、循环给数组赋值,写入数据。
一维数组赋值:
二维数组赋值:
2 、来自某些可生成数组的函数: Array函数和Split函数
Array函数生成一个一维数组,但数组声明的时候,需要声明为动态数组arr()。
当然也可以声明arr为变体变量,Dim arr 。
该数组的下界是从0开始。
Split函数以某个字符为条件分列字符串,生成一个一维数组。该数组的下界是从0开始。
注意:这是Dim arr,arr是一个变体变量,非数组。
3、 来自于单元格区域。
凡数据来自于单元格的数组都是二维数组,其一维二维两个维度的下界都是从1开始。
从单元格中获取数据,一般使用动态数组。
3.1 数组不能是一个单元格
3.2 凡是单元格数据生成的数组,都是二维数组
无论获取的是单元格的一行数据还是一列数据
一列
一行
3.3 注意dim arr和dim arr()的不同。
dim arr() 声明的是数组
dim arr 声明的是变体变量,变体变量可以变成数组
下面代码,arr和brr在赋值后都是相同的数组,brr变体变量在赋值后自动变成了数组。
3.4 动态数组取值
arr,brr都会随着Currentregion属性的单元格范围变化而改变大小。
所以,设置动态的单元格范围,数组也会随之成为动态数组。
5行2列
7行2列
数组获取单元格数据,同样可以用循环单元格的方法写入,但是效率比直接用"="低太多,不方便,不推荐。