感
谢
关
注
导读
需要合并的工作簿有5个,每个工作簿中都有多个工作表,所有工作表的表头标题都是一致的。
打开VBE编辑器新建模块并添加VBA代码,如下图:
操作方法:
按ALT F11组合键打开VBE编辑器,选中任意一个工作表名点击右键,然后选择“插入——模块”,在模块中粘贴以下代码:
Sub 合并工作簿()
Dim k$, i%, wk As Workbook, sh As Worksheet, arr
Application.ScreenUpdating = False
Sheets('合并').Range('A2:E65536').ClearContents
Set kw = ThisWorkbook
k = Dir(ThisWorkbook.Path & '\*.xls')
Do While k <> ''
If k <> kw.Name Then
Set wk = Workbooks.Open(ThisWorkbook.Path & '\' & k)
For Each sh In Worksheets
sh.Copy after:=ThisWorkbook.Sheets('合并')
Next sh
wk.Close False
End If
k = Dir
Loop
Call 合并工作表
End Sub
Sub 合并工作表()
Dim sh As Worksheet
Dim i As Integer
For Each sh In Worksheets
If sh.Name <> '合并' Then
i = sh.UsedRange.Rows.Count
Sheets('合并').Columns(1).Cells(Sheets('合并').Columns(1).Cells.Count). _
End(xlUp).Offset(1).Resize(i - 1, 7) = sh.Range('a2').Resize(i - 1, 7).Value
End If
Next
Application.ScreenUpdating = True
Sheets('合并').Select
End Sub
添加一个用于执行VBA代码的按钮,并指定要执行的代码
最终效果如下:
看到这里,你是否会觉得合并数据很强大呢?其实这还只是最基本的数据合并,如果有N个工作簿,每个工作簿有多个工作表,其中都有一个工作表名称是相同的,我们只需要合并那个名称相同的工作表(合并所有工作簿中指定名称的工作表),你有想过应该怎么做吗?你想了解学习更多关于数据合并的知识吗?
第294天的坚持,离365天的小目标还剩71天
我的Excel,天天与你不见不散
联系客服