@value 数组_VBA篇 7.数组

个人感觉数组是VBA中比较有阶段性意义的知识点,如果只是用VBA做一些方便日常工作的处理,不学数组也是可以的,无非是代码看起来比较蠢一些,操作稍微慢一丢丢,但是在外行人眼里已经很厉害了。

而理解了数组,意味着编程水平进阶了,后续学习vb/C#或者Python都会更快速一些。那话说回来,数组也不难,无非是把表格抽象化了,然后在后台操作。数组可以提高VBA的运行效率,因为用二维数组去处理工作表,可以只读取一次,然后运算,再赋值一次。不用数组的话需要对每个单元格都进行读取和赋值,对比如下图。

ca4423b62ef1e95f6bfe46c88ffb74c2.png

有聪明的朋友可能会说,读取到数组中运算过程也要循环的。是的,但是在数组中循环比直接操作单元格循环 每个循环都少了两步,而且是最耗时的两步。

数组的维度

数组可以分为一维数组、二维数组和多维数组。类似于我们熟知的点、线、面、体。一个变量,就像一个单元格;而一维数组就像Excel中的一列数(或者一行数);二维数组就像Excel中的工作表(一张表单)。一般我用二维数组比较多一些,三维及以上的数组我没有使用过。

'定义一个十位数的一维数组

数组的上限和下限

使用Lbound函数可以获取到数组的下限,使用Ubound可以获取到数组的上限。

一维数组的下限永远是0。这里也顺便说一下,编程中的数数大部分都是从零开始的。

二维数组可以在定义的时候自定义下限,读取单元格区域获取的数组的下限是(1,1)。表格对应到二维数组中,第一个维度表示行,第二个维度表示列,这个用的多了就会记住。

'读取工作表名为Sheet1的A1:B3区域作为数组

数组的使用

使用arrayname(rowindex,columnindex)这样的格式可以引用数组。下面使用数组对"A1:B3"区域的数据全部除以10000。

sub 

如上,这样一个最简单的使用数组的 元转万元 的VBA程序就实现了。

专栏在语雀知识库同步,感觉语雀上的目录更明确一些,有兴趣可以去看看。您的点赞和喜欢是我更新的动力,请不要只让它躺在收藏夹吃灰(:

VBA从入门到放弃 · 语雀​www.yuque.com
498a1af29747dbf833e594b210ba825a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值