美文网首页VBA For Excel高效率办公工具癖
Excel中多表数据自动累加汇总

Excel中多表数据自动累加汇总

作者: 秋迷恋夏 | 来源:发表于2017-02-07 11:05 被阅读2913次

    让不懂编程的人看懂VBA,让大家都能轻松搞定批量数据。

    各类办公室文员与数据打交道,可能会经常遇到以下问题:

    上级机构制作了一张表格,下发给各下级单位,要求他们填写好后上交。

    总公司制作的下发样表

    收齐之后,需要将交上来的表格中的数据累加,然后填入到汇总表里,如果需要填写的数据很多,下级单位数量也不少,那工作量就会特别大,而且特别容易出错。

    回收各分公司填写的数据表 分公司填写数据样例

    但如果我们利用VBA写一段宏代码,就可以轻松搞定这个问题了。这里当然不是让你自己去写,我已经写好了,你只需要复制过去就能用,而且我已经把备注写的非常清楚了。

    解决步骤:

    1.新建一个文件夹,将待汇总的空表另存为一个启用宏的Excel文件。

    文件类型选择“启用宏的工作簿”

    2.在文件夹中再新建一个文件夹,命名为“数据”,将所有收回的数据文件存放于其中。

    将回收的数据存放于数据文件夹中,文件件与汇总表并列

    3.打开汇总表Excel文件,单击【试图】菜单中的【宏】-【录制宏】命令,在打开的对话框中输入宏名称“hz”后确定。

    打开宏对话框

    4.在单击【试图】菜单中的【宏】-【查看宏】,在打开的对话框中选择宏名称,然后点击【编辑】按钮。

    5.在打开的窗口中将原有内容全部删除,将下图内容粘贴到编辑框中。

    5.单击该窗口中的【运行子过程】按钮,即可完成所有分公司数据自动汇总,并将汇总数据填写到汇总表中对应区域的工作。

    汇总后的结果

    注意:

    1.汇总后若想再次修改宏代码,可以通过【试图】菜单中的【宏】-【查看宏】-【编辑】命令来浏览宏代码。

    2.按照备注文字的说明可以根据实际表格中数据区域的位置和行列数,修改相关参数。

    其中:

    数组brr(1 To 3, 1 To 4)表示数据区域的行列数,即需要汇总数据共有3行4列;

    单元格区域[B3:E5]表示需要汇总数据位于[B3:E5]这个区域;

    循环For i = 1 To 3    For j = 1 To 4  表示从待汇总区域的第一行到第三行、第一列到第四列进行累加。

    3.全部代码如下:(复制过去稍作修改即可使用)

    Sub hz()

    Dim Fso, Fld, Fl

    Dim arr, brr(1 To 3, 1 To 4), i%, j%

    '定义变量及数组(数组大小由需要汇总数据区域的行列数确定)

    Set Fso = CreateObject("Scripting.FileSystemObject")

    Set Fld = Fso.getfolder(ThisWorkbook.Path & "\数据\")    '读取待汇总数据所在的文件夹

    If Fld.Files.Count > 0 Then

    Application.ScreenUpdating = False

    For Each Fl In Fld.Files

    Workbooks.Open (Fl)

    arr = ActiveWorkbook.Worksheets(1).[B3:E5]  '将各表数据区域需要汇总的值赋给数组arr

    For i = 1 To 3                  '逐行

    For j = 1 To 4              '逐列

    If IsNumeric(arr(i, j)) Then brr(i, j) = brr(i, j) + arr(i, j)

    '如果单元格是数字则累加

    Next

    Next

    ActiveWorkbook.Close

    Next

    Application.ScreenUpdating = True

    ThisWorkbook.Worksheets(1).[B3:E5] = brr      '将汇总数据写入到汇总表对应的区域

    MsgBox "数据汇总完成"

    Else

    MsgBox "没有找到任何工作簿文件"

    End If

    End Sub

    希望本例能帮你减轻重复计算的体力活之苦。

    喜欢这类文章就关注我:“空中的纸飞机”或我的专题:“高效率办公”吧!索要样例文件,可以简信我。

    轻松玩转Word替换,工作不再事倍功半

    通过Word邮件合并功能批量自动打印奖状证书

    复制数字期刊内容快速编辑技巧

    快速解决试卷中客观题答案格式的相关问题

    通过“Vlookup”函数比对表格

    Excel中通过Vlookup函数提取数据

    Excel中多表数据自动累加汇总

    Excel中快速录入数据技巧

    相关文章

      网友评论

      • PowerQuery:不懂vba的可以试试看用power query,门槛比vba低,操作也比较简单
      • 邹宅宅:真是大神啊
        秋迷恋夏:@邹艳梅 有用就好:stuck_out_tongue_winking_eye:

      本文标题:Excel中多表数据自动累加汇总

      本文链接:https://www.haomeiwen.com/subject/ovmpittx.html