access vba 常量数组赋值_VBA数组的声明及应用

Hi ,大家好,通过此前的VBA编程基础和VBA编程应用的一些教程,大家对于VBA的编程和实际的应用,基本上已经有一些了解,并且应该是可以自行实现一些简单的应用了,属于基本上入门了。

但是这些基础知识仅能部分的解决一些问题,能替代我们完成一部分的需要重复的任务,但是要想更多的任务通过VBA代码实现自动化,则需要进一步的学习。

今天就给大家介绍一个更高级的数据结构---数组

数组

数组是一组顺序索引的元素,这些元素的基础数据类型是一样的,数组的每个元素都有唯一的索引号,对某一个数组元素的更改,不会影响到其他的元素。

和此前变量可以理解为一个用来装数据的盒子一样,数组可以理解为排列在一起的一排的盒子,并且每个盒子都按顺序编号,不过这一组盒子都需要放同样类型的数据,如果要放一系列另外一个类型的数据,则需要另外声明一个新的数组用来存放。

声明数组与声明其他变量类似,但是因为是保存一些列的数据,因此就涉及到需要保存多少个变量的问题,也就是盒子的多少个问题,VBA中的数组支持固定大小的数组和不固定大小的数组,也叫动态大小数组.

声明固定大小的数组

例如如下代码声明一个保存6个整形数据的数组,这个为6是因为数组的下标默认是从0开始的

Dim IntArray(5) As Integer

声明动态大小的数组

如下代码则声明一个动态数组

Dim DintArray() As Integer

固定大小的数组定义了之后,就可以往里面保存数据了,保存数据的方法与变量类似,但是数组是通过括号里面的下标访问到数组中不同的数据的。

动态大小的数组声明之后,是不能直接往里面保存数据的,因为声明的动态大小的数组大小默认是0,需要通过ReDim重新设置动态数组的大小之后才可以使用,并且通过ReDim的动态数组的名字需要与前面声明的保持一致,否则会重新声明一个新名字的数组。

如下代码重新定义了上述动态大小数组为6

ReDim DintArray(5)

如果是多次使用ReDim的话,则数组的的大小会在ReDim之后重新定义,并且此前保存在数组中的数据是默认清空的,如果想保留此前的数据,则需要添加Preserve关键字,如一下代码:

ReDim Preserve DintArray(10)

定义完成之后,则动态大小的数组与固定大小的数组使用的方式是一样的,下面通过一个具体的例子演示一下数组具体的用法:

Sub BaseCode1()'定义一个固定大小的数组及一个动态大小的数组Dim IntArray(5) As IntegerDim DintArray() As IntegerDim i As Integer'通过For循环给固定大小的数组依次赋值For i = 0 To 5IntArray(i) = iNext'通过For循环逆序打印出固定大小数组的每一个值For i = 5 To 0 Step -1Debug.Print IntArray(i)Next'重新指定动态数组大小为6ReDim DintArray(5)'动态大小数组第4个元素赋值3DintArray(3) = 3'重新定义动态数组的大小为11,并且保留之前的值ReDim Preserve DintArray(10)'动态大小数组第9个元素赋值8DintArray(8) = 8'输出动态数组的第4个及第9个元素Debug.Print DintArray(3)Debug.Print DintArray(8)End Sub

复制粘贴上述代码到VBA代码编辑窗口并运行,运行结果如下图所示:

ea8e9c3c935e0b980180822a8abfba5b.png

以上就是VBA中数组的声明及简单应用,保存的数据不仅仅是代码演示的整形数据,其他的基本的数据类型的数据也是可以的,大家可以自行尝试一下。

觉得有用吗?想了解更多吗?下方扫码关注喔!

77582891f8ed8fa86317476f0a5386a1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值