天天看点

一键搞定!4W个工作表汇总,人人都用的上

临下班前,公司老板突然“活跃”起来:

“小张,下班前把第二季度的所有销售报表都汇总给我。”

“小李,找一下最近2年的行业案例销售额汇总表。”

这些话,身在职场的你一定并不陌生。在领导眼里,仿佛你10分钟就能搞定8小时才能完成的工作。

我们有时候需要将在几百个工作表的数据到同一个工作表当中,今天和大家分享的是一键汇总各分表数据到总表。

照例举个栗子,如下图,一个工作簿,包含多个工作表,现在需要将各个分表的数据汇总到总表中……

一键搞定!4W个工作表汇总,人人都用的上

有很多很多的粉丝都在询问这样的问题,有些人会想到使用数据透视表或者合并计算等方式进行操作。但是呢?这两种操作方式都有它的局限性,稍有不足。比如存在合并单元格时,它们也就无能无力了。

但是如果我们使用代码来完成,那么就非常简单,您只需拿过去用即可:代码的操作动画如下:

一键搞定!4W个工作表汇总,人人都用的上

源代码如下:

Sub CollecSht()
    Dim Sht As Worksheet, Rng As Range, k&, Trow&
    Trow = Val(InputBox("请输入标题的行数", "提醒"))
    If Trow < 0 Then MsgBox "标题行数不能为负数。", 64, "警告": Exit Sub
    Application.ScreenUpdating = False
    Cells.ClearContents
    Cells.NumberFormat = "@"
    For Each Sht In Worksheets
        If Sht.Name <> ActiveSheet.Name Then
            Set Rng = Sht.UsedRange
            k = k + 1
            If k = 1 Then
                Rng.Copy
                Range("A1").PasteSpecial Paste:=xlPasteValues
            Else
                Rng.Offset(Trow).Copy
                Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValues
            End If
        End If
    Next
    Range("a1").Activate
    Application.ScreenUpdating = True
    MsgBox "一共汇总了" & k & "个表格。"
End Sub      

如果需要上述源文件和代码工作薄,可以直接私信我“多工作表汇总”,即可获得练习文件!

粉丝通过4年的文章学习,从小白变成财务负责人,工作上的表格处理能力变得很强大。这也印证了当年说过的话,如果你能坚持看文章3-5年,你必然可以成为一个很厉害的人。