将所有工作表从一个(closures)工作簿复制到另一个“

我试图把所有的纸张从一本书复制到另一本

Windows("test.xls").Sheets.Copy Before:=Workbooks(ThisWorkbook).Sheets("00") 

错误types不匹配!
“test.xls”与ActiveWorkBook位于同一文件夹中。
特别是 – 有没有办法做到这一点,而不打开“test.xls”?

您可以打开已closures的工作簿(在后台打开比使用已closures的书更容易),然后将所有工作表从Test.xls复制到另一本书的特定部分(即在工作表00之前)在一行中

下面的代码:

  • 打开一个封闭的工作簿c:\temp\Test.xls")
  • 复制包含代码的工作簿中的工作表00之前的所有工作表
  • closuresTest.xls

代码禁止任何警报,Test.xls中的代码事件和屏幕更新

 Sub CopyAll() Dim Wb1 As Workbook Dim Wb2 As Workbook With Application .ScreenUpdating = False .EnableEvents = False .DisplayAlerts = False End With Set Wb1 = Workbooks.Open("c:\temp\Test.xls") Set Wb2 = ThisWorkbook Wb1.Sheets.Copy Before:=Wb2.Sheets("00") Wb1.Close False With Application .ScreenUpdating = True .EnableEvents = True .DisplayAlerts = True End With End Sub 

也许我想简单,但如果你想复制所有工作表,essentialy您正在复制整个电子表格文件。 以编程方式将“旧”工作簿保存为新名称会更容易吗? 您将创build一个具有相同内容的全新文件。

也许我错过了一些东西,但从另一个angular度来看待它。