数组的存在价值就是让代码提速。

数组和非数组的差异只在于数据的保存和读取方式不同,虽然操作这些数据的方法或者函数并没有不同,但是保存与读取上的差异却使VBA代码在处理数据时实现了质的飞跃。在完成相同工作时,使用数组比非数组的效率有可能提升几倍乃至几十倍,数组对于VBA而言举足轻重。

1、数组的定义:

数组就是连续可索引的具有相同内在数据类型的元素的集合,数组中的每一元素具有唯一索引号。简单而言,数组就是一组相同类型的数据集合。

数组支持一到六十维,不过常用的是一维数组和二维数组。

通常可以借助区域来理解数组,因为数组存在于内存中,显得虚无缥缈,而区域则比较形象化。

事实上,数组和区域之间是相互依存的关系,工作中会经常将区域中的数据导出到数组中,当在数组中处理完毕后,又需要将数据从数组导出到区域中。

2、数组的特点:

(1)包含多个元素

(2)读取速度快

计算机在读取数据时,软盘 > 光盘 > U盘 > 硬盘 > 内存,从软盘中读取的速度最慢,最快的是内存。而读取EXCEL工作表的单元格中的数据时相当于硬盘级速度,读取数组中的数据则相当于内存级速度,所以数组的运算速度快于区域的运算速度。

在使用数组时,通常将区域中的值读取到内存中,然后再针对数组执行各种运算,运算完毕后再根据需求将结果写入相应的区域或者单元格中。

换言之,使用数组就是尽量减少读取单元格的次数,替之以读取内存,从而提高代码执行效率。

(3)不能常驻内存

内存中的数据生命周期不长,不像工作表那样可以长期保留数据。

VBA中数组的载体其实是指数组变量或集合(Collection),它们都会在结束过程或者关闭工作簿后自动消失,所以数组仅用于临时保存数据,在内存中处理数据后需要再将数据导出到区域中。数据无法长期驻留于数组中。

最新文章

  1. 自己写的HTML5 Canvas + Javascript五子棋
  2. Retrofit 入门学习
  3. empty isset
  4. SaltStack与ZeroMQ(二)
  5. HDU-Minimum Inversion Number(最小逆序数)
  6. Linux之保留yum安装软件后的RPM包
  7. 在ubuntu下创建wifi供移动端使用
  8. [Python]linux自己定义Python脚本命令
  9. 在Mac OS X中搭建STM32开发环境(1)
  10. linux获取目录下文件
  11. 归并树 划分树 可持久化线段树(主席树) 入门题 hdu 2665
  12. JavaScript中的闭包理解
  13. 在CMD命令行和PowerShell中实现复制粘贴功能
  14. 强大的MobaXterm
  15. 一行代码搭建 Python 静态服务器
  16. java算法之超级丑数
  17. webpack打包样式代码去重
  18. PHP7 网络编程(六)Socket和IO多路复用【待】
  19. 【Zend Studio】在Zend Studio中调试ThinkPhp框架
  20. leetcode198

热门文章

  1. 部署WEB项目到服务器(二)安装tomcat到linux服务器(Ubuntu)详解
  2. Manjaro 玩机记录
  3. 万能的DBHelper帮助类
  4. javaweb(2)之Servlet入门
  5. java之beanutils使用
  6. 如何相互转换逗号分隔的字符串和List【转】
  7. pycharm的简介
  8. vue 之iview
  9. js中字符替换函数String.replace()使用技巧
  10. 026-微软Ajax异步组件