📜  excel vba确定二维数组中的元素数量 - VBA(1)

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

Excel VBA:确定二维数组中的元素数量

在 Excel VBA 中,可以使用二维数组来存储和操作数据。在某些情况下,需要确定二维数组中元素的数量。本文将介绍如何使用 VBA 来确定二维数组中元素的数量。

声明和初始化二维数组

在 VBA 中,声明和初始化二维数组的语法如下:

Dim array_name(row_index As Integer, column_index As Integer) As Data_Type

其中,array_name 是数组的名称,row_indexcolumn_index 是行和列的索引,Data_Type 是数据类型。

例如,以下代码声明并初始化了一个名为 myArray 的二维数组,其大小为 2 行 3 列,元素类型为整数:

Dim myArray(1 To 2, 1 To 3) As Integer

myArray(1, 1) = 1
myArray(1, 2) = 2
myArray(1, 3) = 3
myArray(2, 1) = 4
myArray(2, 2) = 5
myArray(2, 3) = 6
确定二维数组中元素的数量

要确定二维数组中元素的数量,可以使用 VBA 自带的 UBound 函数。UBound 函数返回指定数组的指定维度的上限。

如果要确定行数或列数,可以在 UBound 函数中指定第一维或第二维的大小。例如,以下代码确定了二维数组 myArray 的行数和列数:

' 获取行数
Dim rowCount As Integer
rowCount = UBound(myArray, 1)

' 获取列数
Dim columnCount As Integer
columnCount = UBound(myArray, 2)
  • UBound(myArray, 1) 返回 2,即第一维的上限,代表行数;
  • UBound(myArray, 2) 返回 3,即第二维的上限,代表列数。
完整代码示例
Sub test()

    ' 声明和初始化二维数组
    Dim myArray(1 To 2, 1 To 3) As Integer
    myArray(1, 1) = 1
    myArray(1, 2) = 2
    myArray(1, 3) = 3
    myArray(2, 1) = 4
    myArray(2, 2) = 5
    myArray(2, 3) = 6
    
    ' 获取行数
    Dim rowCount As Integer
    rowCount = UBound(myArray, 1)
    
    ' 获取列数
    Dim columnCount As Integer
    columnCount = UBound(myArray, 2)
    
    ' 输出行数和列数
    Debug.Print "数组行数:" & rowCount
    Debug.Print "数组列数:" & columnCount

End Sub

运行上述代码,将在 VBE 的立即窗口中显示以下内容:

数组行数:2
数组列数:3
总结

使用 UBound 函数可以轻松地确定二维数组中元素的数量。在进行数据操作时,了解数组的行数和列数是非常必要的。