📜  vba 数组包含 - VBA (1)

📅  最后修改于: 2023-12-03 14:48:17.342000             🧑  作者: Mango

VBA 数组

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 数组的下标从 0 开始,而不是从 1 开始。
  • 数组在声明时需要指定其大小,可以是固定大小或者动态调整。
  • 数组可以存储各种 VBA 数据类型。
  • 可以使用循环结构遍历数组中的元素。

以上是 VBA 数组的一些基本知识。掌握数组的使用将提高你在 VBA 中处理数据的能力和效率。