前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA数组(一)基础知识

VBA数组(一)基础知识

作者头像
无言之月
发布2019-10-13 15:48:04
4.2K0
发布2019-10-13 15:48:04
举报
文章被收录于专栏:Excel和Access学习笔记

大家好,前面介绍过VBA变量,可以通过它来访问数据。但对于大量数据时候,通过声明变量就显得太繁琐,此时就可以通过数组来访问数据解决。

说到数组,在介绍Excel函数时已经涉及,但在VBA中数组的用法与函数公式中有所不同,下面将主要介绍VBA中数组的一些基础知识,让大家对数组先有个初步的认识。

一、数组的定义

VBA中的数组是由相同类型的变量连续排列在一起所构成的。数组本身也是一种形式的变量,通过它来访问数据。数组主要有以下特点:

1、数组共享同一个名字,就是数组名。

2、数组中的变量是同种类型的(在声明数组时会介绍)。

3、数组中的元素按次序存储在数组中,可以通过索引号进行区分。

4、数组也是变量。

5、数组可以有多个维度,常用的是1维、2维和3维,数组最多支持60维。

二、数组名称命名规则

VBA数组是共享一个名称,即数组名。它命名与变量命名的原则一致,主要有以下基本基本原则:

1、不能以数字或者下划线开头

2、不能仅有数字组成

3、不能有%、¥、&、#、@等特殊字符

4、名字必须唯一,不能与其他变量或数组有相同名称。

三、数组的维度

讲解VBA数组前,首先说明下数组的维度概念,因为在使用VBA数组时都需要明确数组的维度。可以通过将Excel表格来形象化的去理解数组维度,特别是常用的一维和二维。

1、一维

一维数组就可以用一行单元格去理解,例如下图可以理解成是容纳5个元素的一维数组的形象化。其中单个元素的位置可以通过一个索引号标注出来,是从0至4中的一个整数。(数组中索引号默认从0开始,具体后面会介绍。)

2、二维

假设在Excel工作表中有5行5列范围的单元格区域,只有同时确定行号和列号时,才能确定某个单元格的位置。Excel的单张工作表就是二维表。

下图可以理解成是容纳二维数组的形象化,第一个维度索引号从0至4,第二个维度也是0至4。其中单个元素的位置可以通过两个索引号标注出来,总共可以容纳5*5=25个元素。(数组中索引号默认从0开始,后面会介绍。)

3、三维

假设Excel中同时又多张工作表时,对于某一个工作表的单元格的位置,就需要工作表序号,列号和行号,三个参数才能确定。

三维数组类似的,数组中一个元素的位置就需要三个索引号来确定。

例如下图可以理解成是容纳三维数组的形象化,第一个维度从0至4,第二个维度也是0至4。第三个维度从0至2,可以容纳5*5*3=75个元素。其中单个元素的位置可以通过三个索引号标注出来。(数组中索引号默认从0开始,后面会介绍。)

总结:对于数组的维度,需要几个索引号才能确定数组中元素的位置,那么数组就是几维的。

魔方和图书馆书架等是现实中容易帮助理解维度的实体,也可以利用在数学中学过的线、面、体上点的坐标来理解维度。(超过三维通常特殊用途才会用到,平时工作使用理解到一维到三维即可。)

四、索引号、上界和下界

在使用数组时首先确定的是维度。而不同的维度都有不同的范围。类似Excel表格中单元格区域的行号和列号范围。在数组中称为索引号,同时索引号均为整数。(不同于Excel中的列为字母。)

数组维度起始和结束的数值起名叫下界和上界。每个维度的下界和上界是独立的。

数组的维度主要在声明数组时使用,用户定义两者的值,而通过下界和上界的数值可以计算数组的容量大小。数组中单个维度的范围为 (上界-下界+1),数组的大小为各个维度范围相乘。

以上节的二维数组为例,两个维度的下界为默认值0,上界为4。数维度的范围即上界-下界+1,计算结果均为5,数组大小为5*5=25,即可以容纳25个元素。

数组的下界默认为从数值0开始。如果需要默然从1开始。需要在编程开头加上option base 1 语句来设置即可。或者在声明数组时第一维下界从1开始。也可以从其他数值开始(上界要大于下界),这些后面介绍声明数组时会有详细介绍。


今天下雨

本节主要介绍数组的基础知识,重在理解数组的维度,索引号、上界和下界的概念,后续会介绍数组的其他内容,祝大家学习快乐。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel和Access学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档