在某些情况下,需要统计工作表中选定区域数值单元格的数值之和( 例如,临时查看应 发奖金之和),在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”中输入数据,拖动鼠标选中所示数据区域,单击“求和”按钮,求和结果将显示 |
|