将多个工作簿合并到一个工作簿中

我正在寻找采取多个Excel工作簿(每个有1个工作表),并将其合并到一个工作簿。

所以,目前我有9个工作簿,每个工作簿有1个工作表,我想最终有1个工作簿,9工作表。

这是我一直在使用的代码:

Function MergeBooks(Path As String) Set NewBook = Workbooks.Add With NewBook .Title = "Merged Data" .Subject = "End User Data" .SaveAs Filename:=Path & "mergedFinal.xlsx", FileFormat:=xlOpenXMLWorkbook End With Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=NewBook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop NewBook.Save End Function 

在我看来,它似乎遵循正确的步骤,我打算从PowerShell运行它,到目前为止,它运行,并创build新的文件,我可以看到它循环通过文件夹中的文件,所以这些都被拾起罚款。 但是,在第15行复制工作表时,会产生“内存不足”错误。 最终的产品工作手册最后是空的。

任何意见,将不胜感激。 谢谢