如果您在每个工作表上都具有结构相同的数据的工作簿,则可能会对将多个工作表合并为一个大工作表的方法感兴趣。

进行合并的概念很简单:您只需要将数据从第二个及后续工作表复制到第一个工作表的第一个空行。 Excel不包括允许您自动执行此操作的工具,但它是宏的理想选择。但是请记住,您要压缩的每个工作表的结构应该相同。

下面的宏逐步浏览所有工作表,并将数据合并到一个新的工作表,该工作表将其添加到工作簿的开头。

Sub Combine()

Dim J As Integer     Dim s As Worksheet

On Error Resume Next     Sheets(1).Select     Worksheets.Add ' add a sheet in first place     Sheets(1).Name = "Combined"



' copy headings     Sheets(2).Activate     Range("A1").EntireRow.Select     Selection.Copy Destination:=Sheets(1).Range("A1")



For Each s In ActiveWorkbook.Sheets         If s.Name <> "Combined" Then             Application.GoTo Sheets(s.Name).[a1]

Selection.CurrentRegion.Select             ' Don't copy the headings             Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select             Selection.Copy Destination:=Sheets("Combined"). _               Cells(Rows.Count, 1).End(xlUp)(2)

End If     Next End Sub

完成宏后,工作簿中的第一张工作表名为Combined,具有来自其他工作表的所有数据。其他工作表保持不变。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(8884)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: