打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【烟花原创】VBA零基础之第111篇VBA数组(一)

从今天开始,我们聊聊VBA中的数组。

那么什么是数组(array呢?

帮助中是这么定义的:连续可索引的具有相同内在数据类型的元素所成的集合,数组中的每一元素具有唯一索引号,更改其中一个元素并不会影响其它元素。简单而言之,数组就是一组数据的存储空间。在这个存储空间中,可以放常见的数据类型如整型,字符串型,逻辑型,还可以存储对象,甚至是数组。



数组的优势在哪?

在数组中可以存储很多的值,普通的变量声明一次只能存储一个值。打个比方,如果要储存一年中每天的支出,使用数组的话,可以声明一个具有365个元素的数组变量,而不是声明365个变量。对于数组,可以引用整个数组中存储的值,也可以引用数组中的某个元素。在频繁读写单元格的场合中,如果对代码的速度有要求,经常会考虑使用数组来优化。



数组的分类

数组的类型,从维数上来分的话可以分为123……

从声明的方式上来说可以有静态数组(大小固定)和动态数组(大小可调整)。



数组中常见的几个概念:

下标,下界:数组中的每个元素都有特定的序列号。这个序列号也不是随便来的,需要代码在声明时指定。下标相当于某维的第一个编号(开始),在声明时下标是可以省略的,缺省情况下下标省略时默认值为0

上标,上界:上标相当于某1维的最后一个编号(结束),在声明时必须明确指定。

维数:数组常用的就是1维和2维,数组中每个元素都有一个唯一的编号。

1维数组通过1个编号就能定到。

2014-2-28 23:51 上传

下载附件 (7.83 KB)


例如上图声明的1维数组arr,一共有3个元素,元素的编号从13

2维数组就要通过2个编号的组合(类似于单元格的要通过行号与列号定位)来定位一个元素,如下图:

2014-2-28 23:51 上传

下载附件 (17.24 KB)



上图中的arr数组,第1维编号从14,第2维编号从02,对于2维,可以用单元格的地址表示法来理解,如第2行第0列。

1维的大小可以通过这个公式计算:上标-下标+1,如上图第1维的大小是4-1+1=4


数组中元素的总数是每
1维的大小相乘即可,上图中数组元素个数:(4-1+1)*(2-0+1)=12



静态数组的声明

Dim 数组名([下标 to] 上标,[下标 to ] 上标)  [as

[下标 to] 上标,表明每1维的大小。数组有几维,就添加几个[下标 to] 上标说明,各个维数声明之间用逗号相隔。
数据类型可以根据情况来选择,缺省为Variant类型。

下标通常是小于或等于上标的,否则会有编译错误提示,如下图:



1维的下标是5,比上标1大。

2维的下标是-10,比上标-1小。



定义一个
23列的2维数组

dim arr(1 to 2,1 to 3)



定义一个
1维数组

dir arr1(1 to 10)



当定义多维数组时,任意
1维的上标是不可缺少的。而下标值是有个缺省值的,默认为0。下标的缺省值可以在模块顶端添加Option base语句进行更改的。

Option base 1 下标值从1开始

Option base 0 下标值从0开始。


当在模块顶端添加了语句 Option base 1        

dim arr1(1,3)   

定义的是13列的数组     

一般建议完整的写出上下标,如arr(1 to 1,1 to 3)      


如果没有使用option base 语句  或 使用了option base 0后

dim arr1(1,3)   

定义的是24列的数组     


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
vb 数组
带您走进VBA数组7
VBA数组 | 从入门到精通(3)- 数组大小与维度转换
VBA进阶|利用VBA数组管理数据清单和表格
VBA新手学习笔记之:数组的超速度
Excel-VBA:14、数组
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服