大家好,小探来为大家解答以上的问题。excel怎么汇总多个工作表的数据,如何汇总多个工作表里的数据这个很多人还不知道,现在让我们一起来看看吧!
1、亲,请问每个工作簿有几个工作表?如果有多个工作表,是逐一遍历全部都要汇总吗?将要汇总的文件放到一个单独专门的文件夹中。
2、在此文件夹中新建或打开一个Excel文件作为汇总文件,找一个空白Sheet或者新建一个Sheet存放汇总数据。
3、然后按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。
4、关闭VBA窗口。
5、然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。
6、1234567891011121314151617181920212223242526Sub hz()Dim bt, i, r, c, n, first As Longbt = 1Dim f, ff As ObjectSet fso = CreateObject("Scripting.FileSystemObject")Set ff = fso.getfolder(ThisWorkbook.Path & "")For Each f In ff.Files If f.Name <> ***.Name And Left(f.Name, 2) <> "~$" Then ***.Open ThisWorkbook.Path & "" & f.Name With Workbooks(f.Name) For i = 1 To .Sheets.Count If first = 0 Then c = .Sheets(i).Cells(1, Columns.Count).End(xlToLeft).Column .Sheets(i).Range("A1").Resize(bt, c).Copy ThisWorkbook.ActiveSheet.Range("A1") n = bt + 1: first = 1 End If r = .Sheets(i).Cells(Rows.Count, "A").End(xlUp).Row .Sheets(i).Range("A" & bt + 1).Resize(r - 1, c).Copy ThisWorkbook.ActiveSheet.Range("A" & n) n = n + r - bt Next End With Workbooks(f.Name).Close False End IfNext fSet fso = NothingEnd Sub。
本文到此分享完毕,希望对大家有所帮助。