本文转载自公众号: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个分表的数据汇集到总表里。