EXCELVBA——数组,使⽤数组提升程序效率数组的存在价值就是让代码提速。
数组和⾮数组的差异只在于数据的保存和读取⽅式不同,虽然操作这些数据的⽅法或者函数并没有不同,但是保存与读取上的差异却使VBA代码在处理数据时实现了质的飞跃。在完成相同⼯作时,使⽤数组⽐⾮数组的效率有可能提升⼏倍乃⾄⼏⼗倍,数组对于VBA⽽⾔举⾜轻重。
1、数组的定义:
数组就是连续可索引的具有相同内在数据类型的元素的集合,数组中的每⼀元素具有唯⼀索引号。简单⽽⾔,数组就是⼀组相同类型的数据集合。
数组⽀持⼀到六⼗维,不过常⽤的是⼀维数组和⼆维数组。
通常可以借助区域来理解数组,因为数组存在于内存中,显得虚⽆缥缈,⽽区域则⽐较形象化。
事实上,数组和区域之间是相互依存的关系,⼯作中会经常将区域中的数据导出到数组中,当在数组中处理完毕后,⼜需要将数据从数组导出到区域中。vba 字符串转数组
2、数组的特点:
(1)包含多个元素
(2)读取速度快
计算机在读取数据时,软盘 > 光盘 > U盘 > 硬盘 > 内存,从软盘中读取的速度最慢,最快的是内存。⽽读取EXCEL⼯作表的单元格中的数据时相当于硬盘级速度,读取数组中的数据则相当于内存级速度,所以数组的运算速度快于区域的运算速度。
在使⽤数组时,通常将区域中的值读取到内存中,然后再针对数组执⾏各种运算,运算完毕后再根据需求将结果写⼊相应的区域或者单元格中。
换⾔之,使⽤数组就是尽量减少读取单元格的次数,替之以读取内存,从⽽提⾼代码执⾏效率。
(3)不能常驻内存
内存中的数据⽣命周期不长,不像⼯作表那样可以长期保留数据。
VBA中数组的载体其实是指数组变量或集合(Collection),它们都会在结束过程或者关闭⼯作簿后⾃动消失,所以数组仅⽤于临时保存数据,在内存中处理数据后需要再将数据导出到区域中。数据⽆法长期驻留于数组中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。