EXCEL VBA——数组,使用数组提升程序效率
2024-08-26 19:58:24
数组的存在价值就是让代码提速。
数组和非数组的差异只在于数据的保存和读取方式不同,虽然操作这些数据的方法或者函数并没有不同,但是保存与读取上的差异却使VBA代码在处理数据时实现了质的飞跃。在完成相同工作时,使用数组比非数组的效率有可能提升几倍乃至几十倍,数组对于VBA而言举足轻重。
1、数组的定义:
数组就是连续可索引的具有相同内在数据类型的元素的集合,数组中的每一元素具有唯一索引号。简单而言,数组就是一组相同类型的数据集合。
数组支持一到六十维,不过常用的是一维数组和二维数组。
通常可以借助区域来理解数组,因为数组存在于内存中,显得虚无缥缈,而区域则比较形象化。
事实上,数组和区域之间是相互依存的关系,工作中会经常将区域中的数据导出到数组中,当在数组中处理完毕后,又需要将数据从数组导出到区域中。
2、数组的特点:
(1)包含多个元素
(2)读取速度快
计算机在读取数据时,软盘 > 光盘 > U盘 > 硬盘 > 内存,从软盘中读取的速度最慢,最快的是内存。而读取EXCEL工作表的单元格中的数据时相当于硬盘级速度,读取数组中的数据则相当于内存级速度,所以数组的运算速度快于区域的运算速度。
在使用数组时,通常将区域中的值读取到内存中,然后再针对数组执行各种运算,运算完毕后再根据需求将结果写入相应的区域或者单元格中。
换言之,使用数组就是尽量减少读取单元格的次数,替之以读取内存,从而提高代码执行效率。
(3)不能常驻内存
内存中的数据生命周期不长,不像工作表那样可以长期保留数据。
VBA中数组的载体其实是指数组变量或集合(Collection),它们都会在结束过程或者关闭工作簿后自动消失,所以数组仅用于临时保存数据,在内存中处理数据后需要再将数据导出到区域中。数据无法长期驻留于数组中。
最新文章
- 自己写的HTML5 Canvas + Javascript五子棋
- Retrofit 入门学习
- empty isset
- SaltStack与ZeroMQ(二)
- HDU-Minimum Inversion Number(最小逆序数)
- Linux之保留yum安装软件后的RPM包
- 在ubuntu下创建wifi供移动端使用
- [Python]linux自己定义Python脚本命令
- 在Mac OS X中搭建STM32开发环境(1)
- linux获取目录下文件
- 归并树 划分树 可持久化线段树(主席树) 入门题 hdu 2665
- JavaScript中的闭包理解
- 在CMD命令行和PowerShell中实现复制粘贴功能
- 强大的MobaXterm
- 一行代码搭建 Python 静态服务器
- java算法之超级丑数
- webpack打包样式代码去重
- PHP7 网络编程(六)Socket和IO多路复用【待】
- 【Zend Studio】在Zend Studio中调试ThinkPhp框架
- leetcode198