1、首先打开一个工作样表作为例子。

2、打开vba代码编辑器,插入一个新模块,并输入以下代码:
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

3、因为是区域求值,所以我们预设最后的得值会较大,所以我们定义一个t变量为长整数型,其数值取值范围为 -2,147,483,648 到 2,147,483,647内不会发生溢出。

4、使用for each循环语句查询在所选单元格区域内是否有变量r元素,如果有,则执行foreach循环内的过程。

5、使用if判断语句来确认所选区域单元格内的元素是否为数值,如果为数值则取其值,递进相加求区域和值。

6、使用msgbox函数来显示区域求和值。我们添加一个控件按钮来实现这个过程的运算。最后得出结果如图。
