练习题求每列的和:(可以参考练习其他类似题目)
实现的结果:将每一列的和放在每一列的最下面
日常练习的代码如下:(如有错误欢迎指正哦,谢谢啦)
Sub 每列求和()
'dim n%,m%,sum% %指的是integer类型,可根据需要定义不同的数据类型
Dim n As Integer, m As Integer
Dim sum As Integer '定义一个sum作为每一列的和
col = 2 '可作为列的计数器
sum = 0 ' 初始化为 0
For n = 2 To 9 '列
For m = 3 To 17 '行
If IsNumeric(Cells(m, n).Value) Then ' 如果是数值,直接累加
sum = sum + Cells(m, n).Value
Else
sum = sum + Val(Cells(m, n).Value) ' 如果不是数值,尝试用 Val 函数转换
End If
Next m
Cells(18, col).Value = sum ' 将 sum 的值放到第 19 行的第 col列
Cells(18, col).Interior.Color = vbYellow '顺便高亮为黄色
col = col + 1 '行数不变,列数依次加一,从而实现将每一列的和放入每一列的最下面
sum = 0 '计算完每一列之后数据重置为0,以便进行下一列的计算
Next n
End Sub
上面的代码引入了一个列计数器col,也可以不用,不用简单一点,下面的代码没有判断数据类型
Sub 每列求和()
'dim n%,m%,sum% %指的是integer类型,可根据需要定义不同的数据类型
Dim n%, m%, sum%
'定义一个sum作为每一列的和
sum = 0 ' 初始化为 0
For n = 2 To 9 '列
For m = 3 To 17 '行
sum = sum + Cells(m, n).Value
Next m
Cells(18, n).Value = sum ' 将 sum 的值放到第 19 行的第 col列
Cells(18, n).Interior.Color = vbYellow '顺便高亮为黄色
sum = 0 '计算完每一列之后数据重置为0,以便进行下一列的计算
Next n
End Sub