vb数组下标(如何获取数组最小下标和最大下标,VBA编程都这样做)

No.1

数组应用中,通常需要对数组内部值的数量有一个准确判断。

那么如何知道一个数组是否有多少个值呢?

也就是说数组中的最小下标是几号,最大下标是几号。

本节介绍一下获取数组下标的两个函数。

No.2

数组最小下标函数:Lbound(数组名,[维度数])

语法参数如下图所示:

数组最大下标函数:Ubound(数组名,[维度数])

语法参数如下图所示:

No.3

两个函数的应用方法和参数都一样,没有太多难点。

两个参数:一个是数组名(必选),另一个是数组维度值。

维度值要在多维度数组中使用。

示例:

vb数组

下图为Lbound和Ubound函数应用示例:

首先定义数组,然后分别给出数组的最小下标和最大下标。

No.4

Option Base 语句

这里要重点说一下Option Base 语句。

功能:

定义系统中数组最小下标值的语句。

注意:

  • 该语句必须出现在模块中的任何过程之前
  • Option Base 语句只在模块级别使用
  • Option Base 只能在模块中出现一次且必须位于包含维度的数组声明前面
  • Option Base 语句只影响该语句所在模块中的数组下限。

使用方法:

Option Base 0'定义数组最小下标为0

Option Base 1'定义数组最小下标为1

如果以Array为数组赋值,数组最小下标为0开始。

举例:

如在通用声明中定义如下代码

Option Base 1 '设定数组下标值

过程中有如下代码

Dim varr,Sarr Redim Sarr(9) varr = Array("s1", "s2") msgbox Lbound(Sarr)'输出1 MsgBox 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 xcell End Sub

数组应用是个很普遍的操作,熟练的数组操作对vba编程技巧有十分强大的作用,而且数组处理数据也比Range表格单元处理速度更快,效率更高,所以,很好的掌握数组是vba编程进入高级阶段的一个必经之路。

欢迎关注、收藏。

---END---

您可以还会对下面的文章感兴趣

最新评论

  1. 犹借银枪逞风流
    犹借银枪逞风流
    发布于:2022-04-27 07:00:28 回复TA
    4;s2")msgbox Lbound(Sarr)'输出1MsgBox LBound(varr)'输出0上面代码varr输出最小下标为0,也就是说数组varr包含
  1. 柯恒唯之
    柯恒唯之
    发布于:2022-04-27 05:13:24 回复TA
    咋回这样呢
  1. 邢婷紫明
    邢婷紫明
    发布于:2022-04-27 05:13:24 回复TA
    人生没有彩排,每一天都在现场直播。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友