小编use*_*362的帖子

复制工作表时获取新工作簿

我需要将几张工作表复制到新工作簿,然后保存该工作簿。

我正在使用工作表函数来复制它,在我看来这就是该函数的预期目的。

以下是有关如何执行此任务的 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 属性来引用新工作簿。

提前致谢

excel vba

2
推荐指数
1
解决办法
209
查看次数

标签 统计

excel ×1

vba ×1