首页 > 解决方案 > 将多个工作簿编译到一个文件中,指定要复制到的文件

问题描述

我目前正在使用此宏将多个工作簿编译为一个,并将每个工作簿添加为工作表。它正在工作,但我想更改宏,以便将工作簿添加到具有宏的工作簿的不同工作簿中。

如何才能做到这一点?

编译成一个工作簿:

Sub A_CARS_LAURA_Collate_Compiler()

Path = "C:\Users\00089408\Dropbox\TXT_Files - Copy\A_CARS\"
Filename = Dir(Path & "*.txt")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub

标签: vbaexcel

解决方案


您只需要添加一个新工作簿(在循环之前)

Dim NewWb As Workbook
Set NewWb = Application.Workbooks.Add

然后将所有工作表复制到NewWb而不是ThisWorkbook.

最后你可能想最后保存新的工作簿

NewWb.SaveAs

推荐阅读