一、函数语法
①LBound 函数
函数功能:返回指定数组维的最小可用下标。
函数语法:LBound(arrayname[, dimension])
参数:
arrayname:数组变量名,遵循标准变量命名约定。
Dimension:指明要返回哪一维下界的整数。使用 1 表示第一维,2 表示第二维,以此类推。如果省略 dimension 参数,默认值为 1。
说明:LBound 函数与 UBound 函数共同使用以确定数组的大小。使用 UBound 函数可以找到数组某一维的上界。任一维的下界都是 0。
②UBound函数
函数功能:返回指定数组维数的最大可用下标。
函数语法:UBound(arrayname[, dimension])
参数:
arrayname:必选项。数组变量名,遵循标准变量命名约定。
Dimension:可选项。指定返回哪一维上界的整数。1 表示第一维,2 表示第二维,以此类推。如果省略 dimension 参数,则默认值为 1。
说明:UBound 函数与 LBound 函数一起使用,用于确定数组的大小。使用 LBound 函数可以确定数组某一维的下界。
二、UBound、LBound两函数的综合使用
比如,我们使用VBA代码定义了数组,如下:
dim MyData(1 to 66,1 to 36, 1 to 6)
可通过如下代码获取此三维数组的上标
For i = 1 To 3
MsgBox LBound(MyData, i)
Next i
相应的,通过如下代码可获取此三维数组的下标
For i = 1 To 3
MsgBox UBound(MyData, i)
Next i
再看一个实例:
Dim A(10,1 to 20)
LBound(A,1) ' 得出的结果值:0
LBound(A,2) ' 得出的结果值:1
UBound(A, 1) ' 得出的结果值:10
UBound(A, 2) ' 得出的结果值:20
Dim AnyArray(10)
dim upper
Upper = UBound(MyArray, 1) '返回 10。
Upper = UBound(MyArray, 3) '返回 20。
Upper = UBound(AnyArray) '返回 10。