当我们有一张表里面有很多sheet 具有相同的表结构,如果需要汇总到一张表中,那么我们可以借助VBA 去实现汇总自动化
Sub 复制所有工作表内容()Dim ws As WorksheetDim targetSheet As WorksheetDim lastRow As Long' 设置目标表格,即要将所有工作表内容复制到的表格Set targetSheet = ThisWorkbook.Sheets("汇总")' 清除目标表格中已有的数据targetSheet.Rows("2:1000000").Clear' 添加目标表格的表头targetSheet.Range("A1:C1").Value = ThisWorkbook.Sheets("汇总").Range("A1:C1").Value' 循环遍历每个工作表For Each ws In ThisWorkbook.Sheets' 排除指定的工作表If ws.Name <> "汇总" Then' 获取源工作表最后一行的行号lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row' 复制源工作表的 A 到 M 列内容到目标表格中的下一行ws.Range("A2:M" & lastRow).Copy targetSheet.Cells(targetSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1, "A")End IfNext wsMsgBox "所有工作表内容已复制到目标表格中!", vbInformation
End Sub
运行结果如下: