📅  最后修改于: 2023-12-03 14:48:17.342000             🧑  作者: Mango
VBA 数组是一种用于存储多个相同类型的元素的数据结构。它允许程序员以统一的方式处理多个相关联的值。VBA 数组可以用于各种情况,例如保存学生的成绩、处理大量数据或者在程序执行过程中保存临时数据。
在 VBA 中,可以使用 Dim
语句来声明一个数组。数组的元素可以是任何 VBA 数据类型,包括整数、字符串、对象等。
下面是一个声明并初始化一个整数类型的数组的例子:
Dim numbers(4) As Integer
numbers(0) = 1
numbers(1) = 2
numbers(2) = 3
numbers(3) = 4
numbers(4) = 5
上面的例子创建了一个长度为 5 的整数数组,并初始化了其中的元素。
VBA 还提供了一种快速初始化数组的方式,即使用数组常量:
Dim numbers() As Integer
numbers = Array(1, 2, 3, 4, 5)
上面的例子创建了一个整数数组,并通过 Array
函数把元素赋值给数组。
可以使用数组的下标来访问和修改数组元素。数组的下标从 0 开始,因此第一个元素的下标为 0。
下面是一些访问数组元素的例子:
Dim num As Integer
num = numbers(2) ' 获取数组中索引为 2 的元素的值
上面的例子获取了 numbers
数组索引为 2 的元素的值,并赋给了 num
变量。
要修改数组中的元素,只需通过下标将新值赋给指定的元素:
numbers(0) = 10 ' 修改数组中索引为 0 的元素的值为 10
上面的例子把 numbers
数组索引为 0 的元素的值修改为 10。
VBA 还支持动态数组,即在运行时确定数组的大小。可以使用 ReDim
语句对动态数组进行调整。
下面的例子演示了如何声明和初始化一个动态数组:
Dim scores() As Integer
ReDim scores(4)
上面的例子创建了一个空的整数动态数组,并通过 ReDim
语句将其调整为长度为 5。
也可以在 ReDim
语句中指定新的数组大小:
ReDim Preserve scores(9) ' 保留数组中的元素,并将数组调整为长度为 10
上面的例子将数组 scores
调整为长度为 10,并保留原数组中的元素。
VBA 还支持多维数组,即包含多个维度的数组。可以使用逗号分隔的下标列表来访问和修改多维数组中的元素。
下面是一个声明和初始化一个二维整数数组的例子:
Dim matrix(2, 2) As Integer
matrix(0, 0) = 1
matrix(0, 1) = 2
matrix(1, 0) = 3
matrix(1, 1) = 4
matrix(2, 0) = 5
matrix(2, 1) = 6
上面的例子创建了一个 3x2 的整数二维数组,并初始化了其中的元素。
可以使用循环结构遍历数组中的元素。通常使用 For
循环或者 For Each
循环。
下面是一个使用 For Each
循环遍历数组的例子:
Dim number As Variant
For Each number In numbers
Debug.Print number
Next
上面的例子逐个输出数组 numbers
中的元素。
以上是 VBA 数组的一些基本知识。掌握数组的使用将提高你在 VBA 中处理数据的能力和效率。