VBA编程-声明数组
时 间:2022-11-17 07:51:12
作 者:福哥(QQ86053924) ID:1784 城市:成都
摘 要:数组的声明方式与其他 变量相同,即,使用 Dim、Static、Private 或 Public 语句声明。 标量变量(不是数组的变量)和数组变量之间的区别在于您通常必须指定数组的大小。 指定了大小的数组为固定大小的数组。 程序运行时大小可以更改的数组是动态数组。
数组是以 0 还是以 1 开始编制索引取决于 Option Base 语句的设置。 如果 Option Base 1 未指定,则所有数组索引都从零开始。
正 文:
数组的声明方式与其他 变量相同,即,使用 Dim、Static、Private 或 Public 语句声明。 标量变量(不是数组的变量)和数组变量之间的区别在于您通常必须指定数组的大小。 指定了大小的数组为固定大小的数组。 程序运行时大小可以更改的数组是动态数组。
数组是以 0 还是以 1 开始编制索引取决于 Option Base 语句的设置。 如果 Option Base 1 未指定,则所有数组索引都从零开始。
声明固定数组
在下面的代码行中,一个固定大小的数组声明为具有 11 行和 11 列的 Integer 数组:
VB复制
Dim MyArray(10, 10) As Integer
第一个参数代表行;第二个参数代表列。
除非为数组指定 数据类型,否则和其他任何变量声明一样,声明数组中元素的数据类型为 Variant 。 数组的每个数字 Variant 元素使用 16 位元组。 每个字符串 Variant 元素使用 22 位元组。 要编写尽可能紧凑的代码,请显式声明数组为某个数据类型,而非 Variant 。
下面的代码行比较多个数组的大小。
VB复制
'整数数组使用22个字节(11个元素*2个字节)。
ReDim MyIntegerArray(10) As Integer
'双精度数组使用88字节(11个元素*8字节)。
ReDim MyDoubleArray(10) As Double
'变量数组至少使用176个字节(11个元素*16个字节)。
ReDim MyVariantArray(10)
'整数数组使用100*100*2字节(20000字节)。
ReDim MyIntegerArray(99, 99) As Integer
'双精度阵列使用100*100*8字节(80000字节)。
ReDim MyDoubleArray(99, 99) As Double
'变量数组至少使用160000字节(100*100*16字节)。
ReDim MyVariantArray(99, 99)
数组的最大大小因操作系统和可用内存而异。 使用超过系统中可用 RAM 大小的数组会导致性能下降,因为必须从磁盘读取数据和向其中写入数据。
声明动态数组
通过声明动态数据,可以在运行代码时调整数组的大小。 使用 Static 、 Dim 、 Private 或 Public 语句声明一个数组,将括号内留空,如下面的示例所示。
VB复制
Dim sngArray() As Single
备 注:
使用 ReDim 语句在过程内隐式声明数组。 在使用 ReDim 语句时,请注意不要将数组的名称拼错。 即使 Option Explicit 语句包括在模块内,也将创建另一个数组。
在数组 范围内的过程中,使用 ReDim 语句可更改维度数、定义元素数,以及定义每个维度的上限和下限。 根据需要使用 ReDim 语句更改动态数组。 但是,每次这么做时,数组中的现有值都会丢失。 使用 ReDim Preserve 可在保留数组中现有值的情况下扩展数组。
例如,下面的语句将数组扩增了 10 个元素,而未丢失原始元素的当前值。
VB复制
ReDim Preserve varArray(UBound(varArray) + 10)
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)

学习心得
最新文章
- 仓库管理实战课程(18)-设置日期...(05.19)
- 仓库管理实战课程(17)-库存明细...(05.13)
- 【Access高效办公】条件格式设...(05.12)
- 仓库管理实战课程(16)-联合查询...(05.07)
- 合并列数据到一个文本框的示例;输出...(05.06)
- 仓库管理实战课程(15)-月度库存...(04.30)
- Access选择打印机、横纵向、纸...(04.29)
- 仓库管理实战课程(14)-出库功能...(04.26)
- 通过命令按钮让Access列表框指...(04.24)
- 仓库管理实战课程(13)-入库功能...(04.21)