许多人在日常办公的时候会遇到一个Excel 工作簿里有多个sheet子表,如何快速将多个sheet表的合并成为一个工作表?最笨的方法就是一个个sheet子表打开,把需要的内容复制粘贴到新的工作表上,这个方法虽然简单实用,但是如果遇到十几个需要合并的sheet子表时,就十分耗时,且工作效率不高。
下面我就介绍一种最简单快速的方式——-【VBA代码 】
01.打开VBA的编辑器,【开发工具】【Visual Basic】
02.进入VBA编辑器,双击选择This workbook 对象下,复制以下代码进去
代码如下:
Sub 合并当前工作簿下的所有工作表()
Dim ws As Worksheet
Dim sh As Worksheet, i%
On Error Resume Next ‘如遇错误继续运行
Application.ScreenUpdating = False ‘关闭屏幕刷新
Application.DisplayAlerts = False ‘禁用警告提示
Worksheets(“汇总”).Delete ‘删除原汇总表
Set ws = Worksheets.Add(before:=Sheets(1)) ‘新建工作表
ws.Name = “汇总” ‘新建工作表命名为汇总
For Each sh In Sheets: ‘遍历所有工作表
If sh.Name <> “汇总” Then ‘判断工作表是否为汇总表
i = ws.Range(“A” & Rows.Count).End(xlUp).Row + 1 ‘获取汇总表中A列数据区域最后一行的行号+1
sh.UsedRange.Copy ‘复制分表中的数据
ws.Cells(i, 1).PasteSpecial Paste:=xlPasteAll ‘粘贴数据
ws.Cells(i, 1).PasteSpecial Paste:=xlPasteColumnWidths ‘粘贴列宽
End If
Next
Application.DisplayAlerts = True ‘恢复警告提示
Application.ScreenUpdating = True ‘开启屏幕刷新
MsgBox “工作表合并完毕”
End Sub
03.粘贴完成后,按F5运行,即可合并该工作簿下的所有工作表。
04.最后点击确定,工作簿下的sheet1、sheet2、sheet3的数据就汇总到一个表中。
PS:
- 工作簿就是一个Excel文件
- 工作表位于Excel工作界面的左下方
- 一个工作簿里面有许多个工作表