分享

【VBA实例027】 计算选中区域数值之和

 黄河简笔画 2020-04-10

在某些情况下,需要统计工作表中选定区域数值单元格的数值之和( 例如,临时查看应

发奖金之和),在Excel的状态栏就可查看选中单元格的数值之和。本例编写VBA代码,使

用循环结构来完成该项功能。

2.关键技术

用户在Excel工作表中选定单元格的数量是不固定的,若需统计所选单元格数值之和,这时可使用For Each循环来进行处理,对选中区域的每个单元格进行判断,然后再累加数值单元格的值。

For Each-.Next循环语句的语法格式如下: .

For Each 元素In对象集合

[语句序列1]

[Exit For]

[语句序列2]

Next

使用For Each循环结构,可在对象集合每个元素中执行-次循环体。如果集合中至少有一个元素,就会进入For Each循环体执行。一旦进入循环, 便先针对“对象集合”中第一个元素执行循环中的所有语句。如果“对象集合”中还有其他的元素,则会针对它们执行循环中的语句,当“对象集合”中的所有元素都执行完了,便会退出循环,然后从Next语句之后的语句继续执行。在循环体中可以放置任意多个Exit For语句,随时退出循环。Exit For经常在条件判断之后使用,例如If-.Then,并将控制权转移到紧接在Next之后的语句。

3.编写代码

(1)新建Excel工作簿,按快捷键“Alt+F11”进入VBE环境。

(2) 单击菜单“插入/模块”命令向工程中插入-一个模块。

(3)在模块中编写以下子过程:

Sub 求和()

Dim r

Dim t As Long

For Each r In Selection

If IsNumeric(r.Value) Then

t = t + r.Value

End If

Next

MsgBox "所选区域数值之和为:" & t

End Sub

(4)返回Excel操作环境,向工作表中插入- -个按钮,修改按钮的提示字符为“求和”,为按钮指定执行.上步创建的宏“求和”。

(5)在工作表“Sheet1”中输入数据,拖动鼠标选中所示数据区域,单击“求和”按钮,求和结果将显示

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多