Excel VBA编程数组函数
在程序中,根据实际情况,需要判断某个变量是否为数组,或者数组的下标范围,可以使用系统提供的函数来进行这些操作。下面分别介绍这些函数。
1.检测数组下标
利用Lbound与Ubound函数,可以返回指定数组中的最小或最大下标,即数组中的最小值和最大值。
格式:Lbound/Ubound(<数组名>[,<数组维序号>])
函数值为数组某维的下界(Lbound)或上界(Ubound),类型为Long,其中数组维序号为可选项,表示数组的指定维号,默认为1。
例如,显示数组中的数组元素,如图5-14所示。
显示
图5-14 显示的结果
其代码如下:
Sub 显示数组()
Dim A(-1 To 50, 10 To 30, -13 To 4, -5 To 15)
'显示最小下标
Debug.Print "第一维数组最小下标:" & LBound(A, 1)
Debug.Print "第二维数组最小下标:" & LBound(A, 2)
Debug.Print "第三维数组最小下标:" & LBound(A, 3)
Debug.Print "第四维数组最小下标:" & LBound(A, 4)
'显示最大下标
Debug.Print "第一维数组最大下标:" & UBound(A, 1)
Debug.Print "第二维数组最大下标:" & UBound(A, 2)
Debug.Print "第三维数组最大下标:" & UBound(A, 3)
Debug.Print "第四维数组最大下标:" & UBound(A, 4)
End Sub
2.判断数组
在实际应用中,数组和变量的区分不是很清晰,特别是定义的动态数组和变量更加难以区分。为此VBA提供了isarray函数来判断是否是数组。
格式:isarray(变量名)
其值为逻辑型,指出指定的变量是否为一个数组.是则值为true,否则为false。
例如,声明数组s和变量a,b,判断其是否数组,其代码如图5-15所示。