Hello,大家好,在前面我们说过Excel函数中间的数组含义,那么你是否知道VBA中间的两个数据处理利器字典+数组呢?他们一旦结合起来将会发挥无可估量的作用,提升执行效率就在分秒之间。今天我们先说说数组,在下期我们会说说字典。

那什么是VBA的数组呢?

VBA数组可以理解成是储存的一组数据的一个地方。他的数据类型可以是数字,文本,对象,当然也可以是VBA数组。可能有些同学会觉得比较抽象,但是经过慢慢的学习就不会觉得抽象啦!

或许在你心里会默默有一句话想问,我为嘛要学习数组呢?这么抽象的概念?当你听到他的优点以后,就会不这样想了。他的优点简而言之有2点,加快程序执行速度和简化代码功能,不要小看这2个作用,当你学习到后面就会发现你花很多精力在VBA对象上面是多么不明智的选择。

如下2个例子,可以看到使用数组耗时0.039,而没有使用数组耗时6秒,数组的运算速度是没有使用数组的153倍,相信你肯定看到这么一个小的地方,速度竟然相差这么多?

这个其实是和VBA的数组运算原理有很大的关系,VBA中的运算最终是在内存中进行的,如果数据已经在内存中,则直接进行运算,但如果数据是储存在单元格里则还需要先把数据从单元格里调入到内存中,然后再在内存中对数据进行运算.

既然已经知道数组的重要性了,那么你可否知道VBA数组有哪几个分类?

它可以分为2大类,如下:

按维数划分:1维、2维…….60维

按储存类型划分:静态数组、动态数组、常量数组

1维数组:横向排列的一组值。

代码如下所示,以下为1维数组和2维数组,我们用的最多的就是这2种,所以可以先了解这些。多维数组依次类推而已。

常量数组,arr = Array(1, 2, 3, 4, 5),数组Arr就是一个常数数组,他有5个常数元素,这个比较好理解吧!

静态数组:顾名思义,就是数组的区域大小是固定不变的,一旦超出这个区域就会提示错误。Dim arr(1 To 10, 1 To 2) ,这个就是声明arr是一个10行2列的二维数组,你明白木有?

动态数组:就是他的区域大小不固定的数组,这个在我们以后的工作中间,用的最多的就是这个动态数组啦!所以这个理解好这个非常重要,动态数组的声明方法和静态数组声明的方法稍有不同,动态数组是需要先用Dim声明是动态数组,当我们的数组大小一旦被确认了,还需要再次用Redim进行二次声明。

例01,step-01 Dim arr(),这是先定义为动态数组

Step-02 Redim arr( 第一维数组上标 to 第一维数组下标,第二维上标 to 第二维下标)

举一个实例来说明吧!如下所示的,看了这个你肯定就明白了上面的那2个步骤了,step-01等同于Dim arr(),step-02等同于ReDim arr(1 To k),就这样我们完成动态数组的处理。

PS:需要注意的是,如果我们的数组需要随某个变量进行不断的扩充(减少),那么数组就需要多次进行声明,每扩充(减少)一次就声明一次;另外说一点如果数组是多维的,只能动态声明第末维的,如果需要把让第一维不断扩充,还需要先转置,这个处理方法比较麻烦,在我们以后会说到这个的处理方法,在这里先请熟记上面的知识点。

自此你肯定有疑问了,数据如何放在Excel中间呢?一起来看看,如下图所示的操作方法,这个例子说明了2个方法,把excel的数据赋值到数组(arr = Range("a2:d5")),把数组赋值到Excel中间(Range("a2:d5") = arr ),相信聪明的你肯定看到了。

现在我们说说的几个简单的运算吧!一起来加深对数组的了解。

VBA数组的大小确定,也就是我们说的上标和下标,通俗上说就是开始的位置和结束的位置值。

VBA数组的数据处理之筛选操作,就是在一个数组中间帅选出来我们需要的数据。这个的使用方法很简单,就是数组= VBA.Filter(要帅选的数组, 帅选条件,是否包含这个),怎么是不是很好理解?

VBA数组数据处理之拆分与合并

求VBA数组的中间的最值方法

数组的统计与求和

数组的查询和处理工作

数组的拆分,这个在处理数组的数据时候,经常用到:

怎么样,小伙伴们,您学会使用使用Excel VBA数组的基本概念和常用的使用方法了吗?相信你如果能够熟知上面的知识点,那么你对数组就能够入门了,有不懂的,有疑问的,可以下面进行留言。

如果小伙伴还有其他的想知道或者想了解的,都可以直接先关注我然后在私信我,告诉我们您想知道什么,或者想了解什么,我们会根据你的需要进行扩展的,谢谢大家的支持!

如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

我是Excel教案,关注我持续分享更多的Excel技巧!

access vba 常量数组赋值_VBA数组是什么?有何作用?别担心,你只需用1分钟就明白它是什么...相关推荐

  1. vba 数组赋值_VBA数组与字典解决方案第18讲:VBA中静态数组的定义及创建

    大家好,我们今日继续讲解VBA数组与字典解决方案,今日讲解第18讲:VBA数组如何定义,又该如何创建呢? 从这一讲开始,我们开始进入VBA数组阶段,VBA数组和工作表数组有着不同的意义,在很大程度上, ...

  2. vba 数组赋值_VBA数组与字典解决方案第31讲:VBA数组声明及赋值后的回填方法

    大家好,我们今日继续VBA数组与字典解决方案,今日讲解VBA数组的声明,一些朋友会问了:数组都讲了这么长时间了,怎么才讲声明啊?是的,有些知识不到一定的程度即使讲了,大家也不能深入的理解,只有到了一定 ...

  3. 什么是数组、如何创建数组、数组赋值、数组增加一个新元素

    一起组团(什么是数组) 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会变的更麻烦 ...

  4. access vba 常量数组赋值_聊聊 VBA 数组的那些坑

    为什么使用数组? 1. 缩减工作薄文件大小,提高运行效率 一般而言只是使用 Excel 的内置工作表函数,在运算方面还是很高效的,但有时因为一个单元格牵扯的计算太多,比如调用多单元格数据,对结果文本进 ...

  5. access vba 常量数组赋值_09c语言数组详解

    数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组. 在C语言中, 数组属于构造数据类型.一个数组可以分解为多个数组元素,这些数组 ...

  6. 数组字典_VBA数组与字典解决方案第1讲:函数,公式,数组,数组公式的概念...

    各位好,从今日开始,在平台上我将推出VBA解决方案系列丛书的第三部:VBA数组与字典解决方案,这套书从工作表数组开始讲解,逐渐过渡到VBA数组和VBA字典,在这部教程中,大家会看到VBA数组.字典在各 ...

  7. 数组字典_VBA数组与字典解决方案第34讲:数组的传递

    大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解的是第34讲:数组的传递.在应用数组的时候,我们往往需要要把数组的值由一个数组传递给另外一个数组,就如同变量的传递一样: A=B '把B值赋给 ...

  8. javascript二维数组转置_VBA数组拆分及维数的转换

    不以物喜,不以己悲,看庭前花开花落,宠辱不惊.淡然,是人生的最高境界,是对人生的态度,是一种风度,一种力量,一种原则.淡若清风,是现在需要的态度.静下心,为后疫情时代做知识的储备,后疫情时代将演绎一场 ...

  9. android给数组添加新元素_「数组赋值」什么是数组、如何创建数组、数组赋值、数组增加一个新元素 - seo实验室...

    数组赋值 一起组团(什么是数组) 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会 ...

最新文章

  1. HDU1051Wooden Sticks
  2. Windows 10第四个大补丸来啦
  3. ansible role中常代码块
  4. Python中文分词--jieba的基本使用
  5. hdu 1227(二维dp)
  6. 1951: [Sdoi2010]古代猪文
  7. c语言比较麻烦的编程题,C语言编程题,比较简单
  8. VTK:图像归一化用法实战
  9. 中国联通与小米深度联动 联合推出Wi-Fi 6路由器AX3600
  10. JAVA中String与StringBuffer 、StringBuilder的区别
  11. 人脸对齐(九)--SDM算法
  12. java用if怎么编程税收_Java - 使用If和if else语句的简单税计算器
  13. Atitit 项目管理软件 在线服务 attilax总结 1. 项目管理协作的历史 1 1.1. Worktile 406k 1 1.2. Teambition  584k in baidu
  14. 【泡泡Docker乐园】使用泡泡Docker基础镜像放心大胆地开发吧!
  15. Excel怎么设置下拉选择项
  16. 木本坚果的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. 2014-2015-2 《Java程序设计》课程学生博客列表
  18. SQL Server 升序和降序排列
  19. 苹果手机绕过密码和指纹自动支付,细思极恐!
  20. 网易我的世界服务器存档在哪个文件夹,网易版我的世界如何删除玩家存档

热门文章

  1. Windows Phone 8初学者开发—第22部分:用演示图板创建卷盘的动画
  2. github上的Lua in Erlang
  3. 深入了解Oracle前滚恢复rolling forward(一)
  4. Ext 整合 Jquery
  5. 如何看待矿池抽税激励社区开发者?如何看待EOS?——BCH极客大赛江卓尔专访
  6. uva 11468 - Substring(AC自己主动机+概率)
  7. call/apply/bind 的理解与实例分享
  8. [翻译] DTCoreText 从HTML文档中创建富文本
  9. 针对IE6\7\8\9\10浏览器的CSS hack大全详解
  10. 基础IPsec-remote基本配置