感 谢 关 注 导读 需要合并的工作簿有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,天天与你不见不散 |
|