ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何改变数组的默认下界值?

如何改变数组的默认下界值?

作者:绿色风 分类: 时间:2022-08-17 浏览:105
楼主
水星钓鱼
Q:默认情况下定义数组时,假如只指定数组的上界,则数组的下界默认为0,可以改变它吗?
A:可以使用Option Base {0 | 1} 语句来改变数组的默认下界。Option Base 语句有两个可选的数值,一个是0,一个是1。默认情况下数组的下界都是0,所以通过添加语句Option Base 1可以 改变数组的默认下界为1。该语句只能用于模块级别中(即一个模块的声明部分,在子过程之外)。且只能影响所在模块的数组的下界。一般情况下这个语句没多大的作用,因为可以通过定义数组变量时就指定下界来更改默认的下界。而且Split,Filter函数返回的一维数组的下界永远是0,不受Option Base {0 | 1} 语句的影响。未指明类型库的Array函数返回的数组受Option Base 语句的影响。而指名了类型库的Array函数返回的数组下界永远是0。如下所示:

  1. Option Base 1
  2. Sub a()
  3. Dim arr(3)
  4. Debug.Print LBound(arr)
  5. Debug.Print LBound(Split("a b"))
  6. Debug.Print LBound(Filter(Array(1, 2, 3), 3))
  7. Debug.Print LBound(Array(1, 2, 3))
  8. '接下来的语句加了VBA类型库
  9. Debug.Print LBound(VBA.Array(1, 2, 3))
  10. End Sub
2楼
omnw
概念掌握准确非常重要,否则在调试过程中会有很多麻烦。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap