我需要将几张工作表复制到新工作簿,然后保存该工作簿。
我正在使用工作表函数来复制它,在我看来这就是该函数的预期目的。
以下是有关如何执行此任务的 MSDN 文档:
Worksheets("Sheet1").Copy
With ActiveWorkbook
.SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
.Close SaveChanges:=False
End With
Run Code Online (Sandbox Code Playgroud)
https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.copy
这正是我想要的,但它使用 ActiveWorkbook 属性,如果运行其他代码或只是与此代码运行并行工作,可能会导致一些错误。
我正在寻找一种无需使用 ActiveWorkbook 属性即可操作新创建的工作簿的方法。
类似这样的事情:
Dim wb as Workbook
set wb = Worksheets("Sheet1").Copy
wb.SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
wb.Close SaveChanges:=False
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个,但它不起作用,但这只是为了说明它没有使用 ActiveWorkbook 属性来引用新工作簿。
提前致谢