所有工作表相同单元格数值分别相加

本文介绍了一段VBA代码,用于在Excel中将所有工作表中指定单元格(如D4和K4)的数值相加,并将结果写入活动工作表的对应单元格。适用于连续工作表且中间无间隔的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所有工作表相同单元格数值分别相加

有时候需要将所有工作表的相同单元格数据相加进行汇总,比如shee1到sheet10所有的D4单元格相加,将结果填到sheet11的D4单元格,依次需要统计D5、D6等或者K4、K5、K6

VBA代码实现

Sub SumD5Cells()
    Dim ws As Worksheet //定义ws为工作表
    Dim totalD As Double //定义两个双精度的totalD、totalK
    Dim totalK As Double
    Dim activeSheet As Worksheet //定义活动工作表activeSheet
    Dim i As Integer //定义i为整型
    
    Set activeSheet = ThisWorkbook.activeSheet //给activeSheet赋值为当前工作簿的活动工作表

    For i = 4 To 28 //for循环i从4到28
        totalD = 0
        totalK = 0
        For Each ws In ThisWorkbook.Worksheets //遍历所有的工作表
            If ws.Name <> activeSheet.Name Then //如果当前工作表不是活动工作表
                totalD = totalD + ws.Cells(i, 4).Value //将每个工作表D列相同单元格累加
                totalK = totalK + ws.Cells(i, 11).Value //将每个工作表K列相同单元格累加
            End If //结束判断
        Next ws //继续下一个工作表
        If totalD <> 0 Then //如果结果不为0
            activeSheet.Cells(i, 4).Value = totalD //将结果写到活动工作表的对应单元格
        End If
        If totalK <> 0 Then
            activeSheet.Cells(i, 11).Value = totalK //将结果写到活动工作表的对应单元格
        End If
    Next i

End Sub

一段简单代码来实现,详细每句代码的含义见注释。

函数实现

  • 在需要汇总的工作表对应单元格中填入公式=sum(‘1:31’!d4)回车确定即可

  • 其中公式中的“1”代表需要汇总第一个工作表的表名“31”代表需要汇总的最后一个工作表的表名“D4”为要汇总的单元格

  • 依次向下填充即可汇总整个D列,其他列同理

要汇总的工作表要是连续的,中间不能存在不需要汇总的表,存放汇总结果的表,不能存在需要汇总的表的中间,要放到汇总范围的前面或者后面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值