VBA简单入门29:数组的数据来源(工作表、Array、Split)

VBA简单入门29:数组的数据来源(工作表、Array、Split)

常规流程


通常,运用数组处理Excel数据的流程是:

VBA简单入门29:数组的数据来源(工作表、Array、Split)

常规流程

从中可知,数组充当了容器和处理器的作用;它就如一个中介,快速帮助我们处理问题解决问题达成结果。

为什么要多此一举使用中介?最大的优势是:效率高。就如我们生活当中的中介一样,往往业务熟悉,效率可观。(黑中介除外.....)


使用数组处理问题,我们第一步的操作是:将数据放入空白的数组当中(数据快到碗里去)。

数组的数据来源,主要是来自于工作表的数据,以及一些函数生成的数据,比如Array函数和Split函数等。

1、循环给数组赋值,写入数据。

一维数组赋值:

VBA简单入门29:数组的数据来源(工作表、Array、Split)

二维数组赋值:

VBA简单入门29:数组的数据来源(工作表、Array、Split)

2 、来自某些可生成数组的函数: Array函数和Split函数

该数组的下界是从0开始。

VBA简单入门29:数组的数据来源(工作表、Array、Split)

Split函数以某个字符为条件分列字符串,生成一个一维数组。该数组的下界是从0开始。

VBA简单入门29:数组的数据来源(工作表、Array、Split)

注意:这是Dim arr,arr是一个变体变量,非数组。

3、 来自于单元格区域。

凡数据来自于单元格的数组都是二维数组,其一维二维两个维度的下界都是从1开始。

从单元格中获取数据,一般使用动态数组。

3.1 数组不能是一个单元格

VBA简单入门29:数组的数据来源(工作表、Array、Split)

3.2 凡是单元格数据生成的数组,都是二维数组

VBA简单入门29:数组的数据来源(工作表、Array、Split)

无论获取的是单元格的一行数据还是一列数据

VBA简单入门29:数组的数据来源(工作表、Array、Split)

一列

VBA简单入门29:数组的数据来源(工作表、Array、Split)

一行

3.3 注意dim arr和dim arr()的不同。

下面代码,arr和brr在赋值后都是相同的数组,brr变体变量在赋值后自动变成了数组。

VBA简单入门29:数组的数据来源(工作表、Array、Split)

3.4 动态数组取值

arr,brr都会随着Currentregion属性的单元格范围变化而改变大小。

所以,设置动态的单元格范围,数组也会随之成为动态数组。

VBA简单入门29:数组的数据来源(工作表、Array、Split)

5行2列

VBA简单入门29:数组的数据来源(工作表、Array、Split)

7行2列

数组获取单元格数据,同样可以用循环单元格的方法写入,但是效率比直接用"="低太多,不方便,不推荐。


分享到:


相關文章: