在日常使用excel处理数据中,我们常常会碰到要将多张表合拼成一张表的情况,如果公单是两三张表合拼,那直接复制粘贴就可以了,但如果有十几甚至几十张表要整理成一张表,那将是一项相当耗时的工作。我们可以通过宏来进行快速合拼。首先,要检查各张表的结构是否一样,结构一样的表才能合拼成我们要想的表。确认各张表结构一样后,按alt+F11,打开excel自带的VB编辑器。

从菜单栏选“插入”——“模块”,然后将下面代码粘贴进去。
Sub 合并()
Dim m As long
Dim n As long
Dim o As long
For m = 2 To 3
n = Sheets(m).[a65536].End(xlUp).Row
o = Sheets(1).[a65536].End(xlUp).Row
Sheets(m).Select
Range("a2", "E" & n).Select
Selection.Copy
Sheets(1).Select
Range("a" & o + 1).Select
ActiveSheet.Paste
Next
End Sub

其中,m为表总数变量,“For m = 2 To 3”是指从第2张表开始,对2张表进行复制,按实际情况将3改为要复制的总表数;“Range("a2", "E" & n).Select”设定要复制的内容范围,这里设置为从第二行开始的A列到E列(第一行为表头,不用复制),A列通常为默认开始列,结束列根据实际情况设置;“Sheets(1).Select”为将复制的结果叠加粘贴到第1张表内。
设置完成后直接关闭代码窗口,回到文件页面,从菜单栏选“工具”——“宏”——“宏”,弹出宏对话窗体。

选“合并”然后单击执行即可。
|