vba sub是什么缩写_模拟SUM函数 追寻VBA代码编写过程

网络上有很多的EXCEL教程,有些教程简单明了,有些教程让人摸不着头脑。为什么?因为基础知识还没讲就上了一堆代码,让没有基础的人看了也看不懂,或者有代码也可以,那就结合基础知识一起讲,让人明白来龙去脉,学一段明白一段。今天,我们模拟sum函数编写一段简单的代码,体会编写的过程,对VBA代码有一个简单的印象。

0cdc5d65ed5e61289bd22b1f99948c5f.png

当然这段代码是理想化的过程,我们没有设定更多的灵活性,没有提供让使用者自选求和区域的功能,没有去判断这些求和的数据类型,假定了一个双精度浮点型的结果,也没有去判断每个单元格的内容是否是数字,如果是文本,就肯定不能完成求和,代码执行的过程就会出现错误 代码如图所示:

18bf7b71559c2645e2552cc009f2711f.png

在这段代码中,sub与end sub都是成对出现的, 是定义过程的必须元素,代码从sub开始至end sub结束。sum是这个过程的过程名,如果要从其他过程调用这个过程,就是通过 call 过程名来调用。Dim是dimension的缩写,字面意思是标出这个变量的尺寸,实际上就是定义数据类型。这里定义了一个双精度浮点型的变量result,用来存放求和的结果。接着定义了没有数据类型的变量arr,通过arr=activesheet.range("a1:a10")来给 arr赋值,“=”是赋值符号,意思就是把等于号后面的值存储到变量所代表的内存空间。for each 是遍历对象或数组的循环结构,在这里就是访问数组里的每一项,i就代表这一项的内容。每访问一项,就通过result=result+i,把i累加到result,这个result=result+i就是把result原来的值加上 i再存回result变量,通过next i,这个循环把i反复相加,直到arr的末尾。最后把在result中的相加结果显示在活动工作表的b1单元格中。activesheet代表当前处于活动的工作表,range就是工作表的中的区域,这个区域可以是一个单元格,许多连续的单元格,许多不连续的单元格,一整行或一整列,只要你想把哪些单元格选取出来,这个range都提供了选取的方法。

通过上述的描述,我们简单的实现了单元格的求和过程,当然这个过程可以不通过数组,可以直接访问每个单元格进行求和,之所以要赋值给数组,因为这样可以提高速度,减少等待的时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值