Excel:vba实现每一列求和

练习题求每列的和:(可以参考练习其他类似题目)

实现的结果:将每一列的和放在每一列的最下面

日常练习的代码如下:(如有错误欢迎指正哦,谢谢啦)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值