什么是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 类型的数组在概念上有所不同,

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

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

关于excel的vba数组介绍相关推荐

  1. 浅谈:excel的vba数组

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

  2. 关于excel的vba数组

    转自:微点阅读  https://www.weidianyuedu.com 什么是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. vba 将数组作为参数传递_将VBA数组写入工作表时转置(Transpose)的利用

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

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

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

  8. vba put 语名 delphi 用什么语句_将VBA数组写入工作表时转置(Transpose)的利用

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

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

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

最新文章

  1. liferay学习(源码调试问题)
  2. Spark Streaming揭秘 Day16 数据清理机制
  3. 美团差评数据分析,python代码实现
  4. MFC开发IM-第十二篇、MFC改变static text背景色为透明
  5. [Guava源码日报(1)]Guava类库简介
  6. B - Cube HDU - 1220 (数学计数)
  7. linux虚拟机模板部署模板,创建和部署基于 Linux 的虚拟机模板
  8. Thinking in C++ ----第二章 对象的创建和使用
  9. 深入理解jQuery插件开发(讲解jQuery开发的好文)
  10. 如何干掉msedge 浏览器首页360流氓导航页
  11. 模2除法(CRC检验码)
  12. 云计算业务优势扩大,阿里云业务持续高速增长
  13. 服务器防火墙如何开放端口?常见的服务器端口有哪些?
  14. 洛谷 P3939 数颜色(主席树)
  15. 每日三省吾身- 持续改进-持续集成
  16. 中产移民:很难找到好工作。
  17. vue改变class内的属性_vue绑定html的class属性的方法
  18. 判断一个字符串中是否包含另一个字符串
  19. windows无法格式化u盘_2019 SD卡、U盘无法格式化怎么办的解决方法
  20. 雷达图 自定义点样式 渐变背景色

热门文章

  1. Rk3399 Android9.0 恢复出厂设置流程
  2. linux中如何分割字符串数组中,[转+整理]linux shell 将字符串分割成数组
  3. 【正点原子STM32连载】第二十三章 OLED显示实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  4. 分布式事务一致性的解决办法
  5. 【备忘】小布老师OracleDBA视频合集
  6. 常量表达式的计算到底由什么完成?
  7. Validate 表单验证用法说明
  8. 解析视频分辨率和时长
  9. 后备保护器安装在浪涌保护器前的作用和意义
  10. git bash反应慢解决办法