转自:微点阅读  https://www.weidianyuedu.com

什么是vba数组?先让我们从字面来看一下它的意思:“数:数据;组:组合”。从字面很直观地看出,数组就是N个数据的组合,如果某个变量只包含一个数据,就不是数组,只能是一个普通的变量。

有人把数组比喻为一串用线穿起来的辣椒,也有人比喻为班级里一群学生。

如果你当过兵,每天训练前肯定会先做队伍集合,如果这个队伍是一个班,班长肯定会叫全体士兵先排队点名,每个士兵会从头至尾进行报数,1、2、3。。。这样最后一名士兵所报的数就是当前这个班的总人数(假设这个班共有10名士兵),班长从报数中一听就知道10名士兵是否全部到齐。在这里,这个班每个士兵不同的姓名就组成了一个数组,由“张三、李四、王五、赵六”等许多姓名构成。这些姓名也可以看成是单个变量,比如变量a=“张三”;b=“李四”....,而数组就是由众多单变量组合而来。

数组概念再理解:

数组是一组具有相同类型和名称的变量的集合。这些变量称为数组的元素,每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数有时也称之为数组的长度。

一般情况下,数组的元素类型必须相同,可以是前面讲过的各种基本数据类型。但当数组类型被指定为变体型时,它的各个元素就可以是不同的类型。

数组和变量一样,也是有作用域的,按作用域的不同可以把数组分为:过程级数组(或称为局部数组)、模块级数组以及全局数组。

连续可索引的具有相同内在数据类型的元素所成的集合,数组中的每一元素具有唯一索引号。更改其中一个元素并不会影响其它元素。

"第一个数组实例:用数组来表示10名士兵,并判断变量aa是否数组:

Private Sub CommandButton1_Click()

Dim aa As Variant

"定义变量aa为变体形式

"给变量aa赋值,其中array函数后面跟了10个参数,字符串必需用双引号括起来;各个字符串之间用逗号隔开

aa = Array(”士兵1”, “士兵2”, “士兵3”, “士兵4”, “士兵5”,, “士兵6”, “士兵7”, “士兵8”, “士兵9”, “士兵10”)

"下面这句判断变量aa是不是数组,用isarray函数,括号中的参数是变量aa

If IsArray(aa) Then MsgBox “变量aa是一个数组”

"如果IF条件为真true,就会弹出消息框,如果为假false,退出程序

End Sub

**********************************************************************************

"第二个数组实例:用数组来表示10名士兵,并从数组中取出元素值:

Private Sub CommandButton1_Click()

aa = Array(”士兵1”, “士兵2”, “士兵3”, “士兵4”, “士兵5”,, “士兵6”, “士兵7”, “士兵8”, “士兵9”, “士兵10”)

MsgBox “数组aa中第一个元素是:” & Space(5) & aa(0) "从数组aa中取出第一个元素:

End Sub

"*******************************************************************************

"上面代码第二句中的 aa(0)是什么意思呢?

"aa 就是数组名,你可以更改它的名字,甚至可以用你的姓名来替代

"括号中的 0 是什么呢?

"数组下标包括下界、上界

"除非你特别指定,比如在程序开头第一行添加了Option base 1(注意不是位于某个过程的开头,而是当前VBE界面代码窗口的第一行)

"或者是定义时采用aa(1 to 10)这种形式,否则默认下界从0开始

"*******************************************************************************

数组表示方法:

"用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,

"第一条语句创建一个 Variant 的变量 xx。第二条语句将一个数组赋给变量 xx。共有3个元素:100,200,300

"第三条语句将该数组的第二个元素的值赋给另一个变量。第四句显示数组中的第2个元素,即200

Sub aaa()

Dim xx As Variant

xx = Array(100, 200, 300)

b = xx(1)

"注意数组具有下标,用来标记每个元素的位置号,默认从0开始,如下标为0,是第1个元素,1就是第二个元素

MsgBox b

End Sub

"使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定,除非 Array 是由类型库(例如 VBA.Array )名称限定。

"如果是由类型库名称限定,则 Array 不受 Option Base 的影响。

"注意没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,

"Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,

"但对数组元素的访问方式是相同的。

关于excel的vba数组相关推荐

  1. 浅谈:excel的vba数组

    转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习知识的网站 什么是vba数组?先让我们从字面来看一下它的意思:"数:数据:组:组合". ...

  2. 关于excel的vba数组介绍

    什么是vba数组?先让我们从字面来看一下它的意思:"数:数据:组:组合".从字面很直观地看出,数组就是N个数据的组合,如果某个变量只包含一个数据,就不是数组,只能是一个普通的变量. ...

  3. excel的vba数组

    转载自品略图书馆 http://www.pinlue.com/article/2020/03/3011/5710071263758.html 什么是vba数组?先让我们从字面来看一下它的意思:&quo ...

  4. VBA数组和Excel工作表数据传递

    本文介绍如何利用 VBA 的数组(Array) 来提高 Excel 单元格和外部数据传输的性能.如果数量比较大,通过 Array 来传输数据比直接操作单元格要快若干倍. 将 Range 的数据写入 V ...

  5. Excel·VBA数组行列转换函数

    目录 1,二维数组与一维嵌套数组互相转换函数 2,二维数组转换为指定行数/列数的函数 3,数组行列转置函数 1,二维数组与一维嵌套数组互相转换函数 <Excel·VBA数组组合函数.组合求和&g ...

  6. 动态数组怎么定义_Excel VBA 数组基础知识,初学者不可不学的关键知识

    今天和大家要说的是VBA数组的基本知识点,等你学到后面就会知道,数组和字典搭配起来真的是事半功倍的啦!所以学习好数组的基本知识点也是必不可少的,基础知识有了,才能有后面的应用. 数组的基本概念 数组其 ...

  7. vba 将数组作为参数传递_将VBA数组写入工作表时转置(Transpose)的利用

    大家好,最近推出的内容是"VBA信息获取与处理"中的部分内容,这套教程面向中高级人员,涉及范围更广,实用性更强,现在的内容是第四个专题"EXCEL工作表数据的读取.回填和 ...

  8. vba二维数组初始化_将工作表数据写入VBA数组

    大家好,最近推出的内容是"VBA信息获取与处理"中的部分内容,这套教程面向中高级人员,涉及范围更广,实用性更强,现在的内容是第四个专题"EXCEL工作表数据的读取.回填和 ...

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

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

最新文章

  1. 华为网络技术培训笔记之常用网络工具(二)
  2. Class.getResourceAsStream
  3. vue过渡和animate.css结合使用
  4. 最好的VLAN资料之十一
  5. Android --- Android layout属性应有尽有
  6. 【SICP练习】66 练习2.37
  7. IDEA查找接口实现类及快速实现接口的方法及常用快捷键
  8. linux内核定义的常用信号6,linux复习
  9. 时间预定java,在预定的时间运行任务java,apache
  10. arm2410 linux,ARM2410与Linux开发环境的搭建
  11. mysql身份证校验码_通过SQL校验身份证号码是否正确
  12. er图一对多的关系怎么体现_抠图高级技法之混合剪切篇
  13. 关于Layer UI表格列日期格式化及取消自动填充日期
  14. python--查询PG数据库
  15. python 集合排序
  16. 教您用公式编辑器打恒不等于符号
  17. windows任务栏IDEA图标变白色快速解决方法
  18. 笔记本电脑外接显示器以后检测不到笔记本电脑原来的显示器,把hdmi拔出来了也没用
  19. android stdio findViewById(R.id.报错
  20. 拓嘉恒业:拼多多新品如何推广

热门文章

  1. Vue3+XLSX+FileSaver导出导入功能
  2. 初识-语义依存分析SDP
  3. java c foreach跳出循环_Java foreach循环中的ClassCastException
  4. 别让自证清白成为扶人者的梦魇
  5. 达梦触发器的作用与基本操作
  6. 机器学习12:分类 Classification
  7. 最小生成树实验报告c语言,c语言最小生成树的实现
  8. Serv-U File Server
  9. 2006危险进程集粹
  10. 如何监控移动广告渠道效果和实施反作弊策略?