本文转载自公众号:Excel和PPT职场见,作者:李则见。本文著作权归原创作者所有,本人收藏此文仅作为学习之用,不作其他目的,如有侵权请联系我删除。 一个工作簿里有300个相同结构的工作表,数据记录条数不同,有的表是500个记录,有的是1000个记录,有的呢有3500个记录,诸如此类。 现在教你一种10秒完成的招,当然就是VBA 1:
ALT F11,插入,模块 在模块里输入如下代码,或复制粘贴如下代码(下面提供了代码)。然后关闭这个窗口。 Sub Allcopy() Dim rg As Range Dim sh As Worksheet Dim irow, jcol Sheets("总表").Range("2:1048576").Clear For Each sh In Worksheets With Sheets("总表") If sh.Name <> "总表" Then Set rg = sh.UsedRange.Offset(1, 0) irow = .Range("A" & Rows.Count).End(xlUp).Row 1 rg.Copy .Cells(irow, 1) End If End With Next End Sub 以上代码满足于当前工作簿里所有分表的结构一样,数据记录从第2行开始,列数可以若干列。 2:
请提前在总表里复制粘贴好表头。 3:
插入,形状,圆角矩形,在矩形里输入文字"汇集",设置好字体格式以及矩形的填充色、边框颜色以及形状阴影等。 右键单击矩形,指定宏,选中Allcopy,确定 4:
单击这个矩形按钮,即可立即1秒把100个分表的数据汇集到总表里。