📜  动态数组 vba (1)

📅  最后修改于: 2023-12-03 15:07:18.247000             🧑  作者: Mango

动态数组在VBA中的应用

在VBA中,数组是指一组同类型的数据元素,在程序中按照一定的顺序排列组成的高级数据类型。动态数组是指在程序执行期间根据需要动态地调整数组容量大小的数组类型。

声明动态数组

声明动态数组的语法如下:

Dim arr() As DataType

其中:

  • arr():数组名,可以在代码中通过该名字调用数组。
  • DataType:数组中存储元素的数据类型,如整型、字符串型等。
创建动态数组

在VBA中,可以使用 Redim 关键字创建动态数组。Redim 可以让动态数组的大小随时调整。

Dim arr() As Integer
Redim arr(10)    ' 创建一个长度为11的动态数组

上述代码创建了一个动态数组 arr,使用 Redim 调整了它的长度为 11。

增加动态数组元素

在调整了数组的长度之后,可以通过下标来给动态数组赋值或者修改元素:

arr(0) = 1
arr(1) = 2

上述代码给 arr 数组的前两个元素赋值。如果要增加动态数组的长度,可以使用 ReDim Preserve 关键字:

ReDim Preserve arr(20)    ' 将数组的长度调整为 21

使用 Preserve 保留了原数组中已存在的元素。

遍历动态数组

要遍历动态数组,可以使用 For Each 循环:

For Each item In arr
    ' 具体操作
Next item

上述代码中的 item 就是数组 arr 中的每一个元素。

优势

相比静态数组,动态数组的优势在于其大小可以动态调整。这意味着可以在程序运行时根据需要增加或减小数组的长度,从而更方便地处理数据。

结论

动态数组对于需要动态调整数组大小的情况非常有用,特别是在处理大量数据时。在VBA中,使用 RedimReDim Preserve 可以方便地创建和修改动态数组。