📜  VBA阵列(1)

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

VBA阵列

VBA阵列(Array)是VBA编程语言中的重要概念,它可以将一组数据集中在一个变量中进行存储和处理。

定义阵列

使用VBA定义一个阵列需要指定阵列的维度和类型。例如,定义一个存储5个整数的一维阵列可以使用以下代码:

Dim intArr(4) As Integer

这个定义语句使用了“Dim”关键字来声明变量,并使用圆括号指定阵列元素的数目。在这个例子中,阵列变量名称是“intArr”,它包含5个整数。阵列是从零开始索引的,所以第一个元素是“intArr(0)”,最后一个元素是“intArr(4)”。

定义一个多维阵列,需要在圆括号中指定每个维度的元素数目:

Dim matrix(3, 3) As Integer

这个定义语句定义了一个名为“matrix”的二维整数阵列,它有四行四列(即16个元素)。

初始化阵列

如果要将阵列初始化为特定的值,可以使用“Dim”语句后面的“{}”符号来指定初始值:

Dim fruits() As String
fruits = {"Apple", "Orange", "Banana", "Grape"}

这个语句定义了一个名为“fruits”的字符串数组,它包含四个元素。

访问阵列元素

使用阵列的元素可以通过下标来访问,下标从0开始。例如,在上面的阵列中,使用以下代码可以访问第二个元素:

Dim secondFruit As String
secondFruit = fruits(1)

这将把“Orange”字符串赋值给“secondFruit”变量。

遍历阵列

可以使用“For”或“ForEach”语句来遍历阵列。

使用“For”语句遍历阵列可以使用以下代码:

For i = 0 To UBound(fruits)
    Debug.Print fruits(i)
Next i

这个代码打印出阵列中的每个元素。

使用“ForEach”语句遍历阵列可以使用以下代码:

For Each fruit In fruits
    Debug.Print fruit
Next fruit

这个代码也打印出阵列中的每个元素。

常见操作

以下是一些常见的阵列操作:

重定义阵列

可以使用“ReDim”语句重新定义阵列的大小:

ReDim fruits(5)

这个操作会重新定义名为“fruits”的字符串阵列为一个含有6个元素的一维阵列。

搜索阵列

可以使用“UBound”函数获取阵列的上限,使用“LBound”函数获取下限。例如,使用以下代码来查找阵列中最大的值:

maxVal = fruits(0)
For i = LBound(fruits) To UBound(fruits)
    If fruits(i) > maxVal Then
        maxVal = fruits(i)
    End If
Next i

这个代码比较每个阵列元素并保留最大值。