大家好,我们今日继续讲解VBA数组与字典解决方案,今日讲解第18讲:VBA数组如何定义,又该如何创建呢?

从这一讲开始,我们开始进入VBA数组阶段,VBA数组和工作表数组有着不同的意义,在很大程度上,工作表数组的运算甚至可以看做是程序的运行,能够理解工作表数组的运算过程对于VBA代码的书写是非常有益的,但VBA数组在大多数情况下,只是作为变量来存储数据。这点和工作表数组有很大的不同。

一、什么是VBA数组 所谓VBA数组,就是共享一个名字,有着多个元素按顺序排列的变量。数组中的数据具有相同的类型和结构,元素通过索引加以区分。这里我把数组的元素看做变量来对待,大家要注意,这个观点在应用过程中是非常有意义的。

二、如何定义数组 数组在使用前必须要进行声明,声名数组同声明其他变量的方式一样,也是用Dim语句来声明。唯一不同的是数组有大小,即有多少个元素,或者说变量,还有就是要说明数组的维数。一般情况下使用较多的是一维数组和两维数组,需要注意的是数组要以字母开头,所用的字符仅限字母、数字和下下划线,不允许出现标点符号和空格。当声明了一个数组,便决定了这个数组用于存储数数据所用的内存空间。

默认情况下数组是以0为下届,也就是Option Base 0大多数情况下我们都是遵守此默认情况的,并且在用数组时忽略数组的第一个元素,上届不能超过LONG数据类型的范围,而且上届值不能小于下届值。

如果我们习惯了用1作为我们的下界,可以强制声明:Option Base 1,需要注意的是Option Base 0(1)必须放在所有模块之前。当然,我们也可以忽略这个强制声明,那我们就需要在声明数组时,指明数组的上界和下界,如:Dim arrSheetName(1 to 3) as String表明这个数组的上下界分别是1和3

下面我们讲通过一个实例来说明数组的声明及赋值,如下面的代码:

Sub Mynzsz() '第18讲 VBA数组的定义及创建

Dim i As Integer, j As Integer

Dim arr(1 To 10, 1 To 2) As Integer '定义一个10*2的二维数组(10行,2列)

j = 1 '数组1 to 10的索引号

For i = 1 To 20 Step 2

arr(j, 1) = i '赋值

arr(j, 2) = i + 1 '赋值

j = j + 1 '索引号增加

Next

[a1:b65536].ClearContents '清除原有数据

[a1].Resize(10, 2) = arr '将数组赋值给A1单元格向下10行,向右2列的区域

End Sub

代码截图:

代码讲解:

1 Dim arr(1 To 10, 1 To 2) As Integer 这里给出了数组的范围最小的是arr(1, 1),最大的是

arr(10, 2)

2 [a1].Resize(10, 2) = arr 讲数组回填给工作表。大家是否理解arr的意义呢?我们看看下面的图:

arr 是一个集合。这个集合包括了20个元素(或者叫变量),分别是arr(1,1);arr(2,1);arr(1,2);arr(2,2);arr(1,3);arr(2,3);arr(1,4);arr(2,4);arr(1,5);arr(2,5);arr(1,6);arr(2,6);arr(1,7);arr(2,7);arr(1,8);arr(2,8);arr(1,9);arr(2,9);arr(1,10);arr(2,10)

运行后:

今日内容回向:

1 什么是VBA数组。

2 VBA数组如何声明?

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

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

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

  2. 建立数组并写入数据_VBA数组与字典解决方案第37讲:在VBA中字典的应用

    大家好,我们今日继续讲解VBA数组与字典解决方案第37讲内容:在VBA中字典的应用.对于字典,也许许多的朋友对此比较陌生,在有的语言里字典也称之为MAP,应用也是比较广泛的. 字典,其实就是一些&qu ...

  3. tp5数组为什么要中括号_VBA数组与字典解决方案第7讲:为什么要采用数组公式(一)...

    VBA数组与字典解决方案第7讲:为什么要采用数组公式(一) 今日继续讲解VBA数组与字典解决方案第7讲,在前几讲的数组应用中我们深入地讲解了工作表数组和数组公式,以及数组维数扩展的意义.那么,有的朋友 ...

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

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

  5. vba数组如何精确筛选_VBA数组与字典解决方案第8讲:为什么要采用数组公式(二)...

    大家好,今日继续讲解VBA数组与字典解决方案,今日的内容是第8讲.在上一讲的数组专题中,我详细地讲了利用数组公式的好处,或许有的朋友还没有充分理解,今日继续给大家讲解.我在讲解中,力争每篇文章可以作为 ...

  6. vba数组如何精确筛选_VBA数组与字典解决方案第10讲:数组及数组公式的制约性和集合性二...

    今日继续讲解VBA数组与字典解决方案,的内容是第10讲,今日继续给大家讲解数组及数组公式结果的制约性和集合性,上节讲到截图的结果返回的是3,而不是0!这是为什么呢?我们仍然看下面的截图: 再次回顾E5 ...

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

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

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

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

  9. 绑定dictionary 给定关键字不再字典中_VBA数组与字典解决方案第51讲:字典嵌套及二级下拉菜单的制作...

    大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第51讲:对字典嵌套的理解及二级下拉菜单的制作. 在讲字典的时候,我反复说明,字典看视非常简单,由于它具有直达性可以省略去我们大量的循环查找代 ...

最新文章

  1. python开发视频播放器_python视频播放器
  2. 前端代码规范(es6,eslint,vue)
  3. 【步态识别】基于CNN深度学习的步态识别算法的MATLAB仿真
  4. Android程序获得APP哈希值,Android – SMS Retriever API – 计算应用程序的哈希字符串问题...
  5. 什么是 LOW-CODE ?
  6. DQN 中的梯度 clip
  7. 为什么C++静态static函数不能访问非静态成员
  8. 在新加坡工作会是一个什么体验
  9. python计算工资工时_Python实现扣除个人税后的工资计算器示例
  10. 超简单的倒计时代码编写
  11. 常用的common function库(三)
  12. Google Chrome商店开发者认证支付$5【图解认证支付成功】
  13. 华三防火墙Reth链路冗余技术
  14. 【虚拟机】无法连接虚拟设备 sata0:0,因为主机上没有相应的设备。 您要在每次开启此虚拟机时都尝试连接此虚拟设备吗?
  15. FME基础入门学习(四)
  16. c语言链表的插入 查询 删除
  17. ubuntu16.4离线安装显卡驱动
  18. 图像深度、像素深度和位深度
  19. 论vbs----从vbs基础语法 到 用VBS搞怪
  20. Bash和shell

热门文章

  1. python自增_关于 python 的自增运算
  2. 深入理解javascript原型和闭包(3)——prototype原型
  3. Pandas数据挖掘与分析时的常用方法
  4. 外包程序员入职蚂蚁金服被质疑,网友:人生污点
  5. 学了Python就能上手业务?你还差得远!
  6. python中的系统模块_python中一些获取系统信息的模块
  7. qimage加载bmp图片_批量修改图片大小,我发现了最简单的方法!
  8. ctypes python_Python ctypes 使用总结
  9. python的就业方向有哪些城市_以就业为目标,Python有哪些方向值得学?
  10. 长安大学计算机科学与技术(交通信息工程)课程专业课,长安大学硕士专业交通信息工程及控制介绍...