那么如何知道一个数组是否有多少个值呢?
也便是说数组中的最小下标是几号,最大下标是几号。
本节先容一下获取数组下标的两个函数。

No.2
数组最小下标函数:Lbound(数组名,[维度数])
语法参数如下图所示:
数组最大下标函数:Ubound(数组名,[维度数])
语法参数如下图所示:
No.3
两个函数的运用方法和参数都一样,没有太多难点。
两个参数:一个是数组名(必选),另一个是数组维度值。
维度值要在多维度数组中利用。
示例:
下图为Lbound和Ubound函数运用示例:
首先定义数组,然后分别给出数组的最小下标和最大下标。
No.4Option Base 语句
这里要重点说一下Option Base 语句。
功能:
定义系统中数组最小下标值的语句。
把稳:
该语句必须涌如今模块中的任何过程之前Option Base 语句只在模块级别利用Option Base 只能在模块中涌现一次且必须位于包含维度的数组声明前面Option Base 语句只影响该语句所在模块中的数组下限。利用方法:
Option Base 0'定义数组最小下标为0
Option Base 1'定义数组最小下标为1
如果以Array为数组赋值,数组最小下标为0开始。
举例:
如在通用声明中定义如下代码
Option Base 1 '设天命组下标值
过程中有如下代码
Dim varr,SarrRedim Sarr(9)varr = Array("s1", "s2")msgbox Lbound(Sarr)'输出1MsgBox LBound(varr)'输出0
上面代码varr输出最小下标为0,也便是说数组varr包含varr(0)和varr(1)两个数组变量。
Sarr最小下标为1,由于在模块中定义了Option Base 1 '数组下标值为1。
No.5下图为代码示例:
Private Sub CommandButton2_Click() Dim LArr, Li As Integer Set isCell = ActiveSheet.Range("C4:C7") For Each xcell In isCell Li = LBound(SetArr(xcell)) ui = UBound(SetArr(xcell)) MsgBox xcell.Value & Chr(10) & "最小下标: " & Li & Chr(10) & "最大下标: " & ui Next xcellEnd Sub
数组运用是个很普遍的操作,闇练的数组操为难刁难vba编程技巧有十分强大的浸染,而且数组处理数据也比Range表格单元处理速率更快,效率更高,以是,很好的节制数组是vba编程进入高等阶段的一个必经之路。
欢迎关注、收藏。
---END---