📅  最后修改于: 2023-12-03 15:35:34.866000             🧑  作者: Mango
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
这个代码比较每个阵列元素并保留最大值。