分享

VBA代码解决方案:VBA代码中,EXCEL工作表函数SUM的利用方法

 hjr231 2019-02-14

大家好,我们今日继续讲解VBA代码解决方案的第49讲内容(注:在整理之前的VBA系列文章中合并了一些文章,重新成集排序为第49讲,所以从这篇文章开始以新的排序计算):VBA中SUM函数的利用方法。对多个单元格求和,是统计工作中非常普遍的工作,在之前的函数讲解过程中,我下了很大的气力来讲解SUM函数及其衍生的函数,在数组的讲解中也讲了此函数在数组中的利用,可以说SUM函数在统计工作中起着举足轻重的作用,如果把这个函数利用好了,对自己的工作是非常方便的,今日我在VBA中就此函数的利用及规律再次加以讲解。

在对工作表的单元格区域进行求和计算时,使用工作表Sum函数比使用VBA代码遍历单元格进行累加求和效率要高得多,我们在熟悉了基本的代码规则后,就要把重点放在优化程序上,这点非常重要,在一般的简单运算中或许体会的不是很深,在数据库的操作中这点非常的明显。SUM函数就是优化程序的一个方法。

我们看下面的代码。

Sub MyrngSum()

Dim rng As Range

Dim d As Double

Set rng = Range('A1:H10')

d = Application.WorksheetFunction.Sum(rng)

MsgBox rng.Address(0, 0) & '单元格的和为' & d

End Sub

Sub MyrngSum2()

Dim rng, rngs As Range

Dim d As Double

Set rngs = Range('A1:H10')

For Each rng In rngs

If rng > 0 Then d = d + rng

Next

MsgBox rngs.Address(0, 0) & '单元格的和为' & d

End Sub

代码解析:

MyrngSum过程调用工作表Sum函数对工作表的单元格区域'A1:H10'进行求和计算。

在VBA中调用工作表函数需要在工作表函数前加上WorksheetFunction属性。应用于Application对象的WorksheetFunction属性返回WorksheetFunction对象,作为VBA中调用工作表函数的容器,在实际应用中可省略Application对象识别符。

在实际的应用中,我们不仅要对指定的单元格区域进行简单的求和,还要利用上判断的条件,这个时候,如果只是利用WorksheetFunction的sum函数就有些吃力了,我们为此仍旧回到原始的单元格判断上来,如上面的MyrngSum2的过程。

下面我们实测一下上面的两个过程:

代码窗口:

VBA代码解决方案:VBA代码中,EXCEL工作表函数SUM的利用方法

首先运行的是MyrngSum过程:

VBA代码解决方案:VBA代码中,EXCEL工作表函数SUM的利用方法

再次运行的MyrngSum2过程:这次的运行中就去除了负数部分。

VBA代码解决方案:VBA代码中,EXCEL工作表函数SUM的利用方法

所以在具体的应用中不要机械,要实际问题实际分析。

今日内容回向:

1 sum 函数在VBA中是如何应用的?

2 完成条件求和的思路是怎么样的?

3 如果要是上述区域有数字呢?该如何进行判断?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多