案例:有12个月的数据,每个表中格式一样,现在对12个月的数据进行汇总
第一步:点击【开发工具】→【VB编辑器】,右键点击【表格对象】,选中插入→模块
第二步:将以下代码插入到编辑器中,点击菜单栏中【运行子程序】或按“F5”运行,即可将结果合并
合并宏代码如下,排版可参考上图
Sub combineSheets()
Set s1 = Sheets("汇总") '定义变量s1 "汇总表"
Application.ScreenUpdating = False '关闭屏幕刷新
s1.Cells.Clear '清空汇总表中的数据 Sheets(2).Range("A1:F1").Copy s1.Cells(1, 1) '复制标题,默认标题占一行
'对工作表进行遍历操作
For Each sht In Worksheets
If sht.Name <> "汇总" Then '从第二行开始复制,并粘贴到汇总中
sht.Range(Cells(2, 1), Cells(sht.UsedRange.Rows.Count, sht.UsedRange.Columns.Count)).Copy s1.Range("A" & s1.UsedRange.Rows.Count + 1)
End If
Next
s1.Range("A1").Select '回到合并表中
MsgBox "完成"
Application.ScreenUpdating = True '开启屏幕刷新
End Sub
说明:
- 使用VBA时,需要软件版本支持,同时在Excel选项中开启
- 保存时文件格式要保存为Microsoft Excel 启用宏的工作簿(.xlsm),如需要保留原格式,右键点击VB编辑器中的模块,移除模块即可