VBA宏:将工作表从一个Excel文件复制到另一个Excel文件

问题描述 投票:-1回答:1

我需要帮助将工作表从一个excel工作簿复制到另一个工作簿。目前,这是我的代码,但它不运行:

Sub Code()

Workbooks.Open Filename:="C:\Users\xxx\Desktop\w1.xlsm"
Sheets (Array("Sheet1", "Sheet2"))
Copy after:=Workbooks("w2.xlsm").Sheets(Sheets.Count)
Workbooks("Client Info Template.xlsm").Close savechanges:=False

End Sub
excel vba excel-vba
1个回答
0
投票

而不是Sheets...Copy ...作为两行,尝试一行:

Sheets(Array("Sheet1", "Sheet2")).Copy After:=Workbooks("w2.xlsm").Sheets(Sheets.Count)

这可能仍然无法工作,或者至少不可靠,因为Sheets.Count可能超过目标工作簿中的工作表数量,因此最好完全限定所有对象:

Sub Code()

Dim w1 as Workbook, w2 as Workbook
Set w1 = Workbooks.Open(Filename:="C:\Users\xxx\Desktop\w1.xlsm")
Set w2 = Workbooks.Open(Filename:="C:\Users\xxx\Desktop\w2.xlsm")  '## Modify as needed

w1.Sheets(Array("Sheet1", "Sheet2")).Copy After:=w2.Sheets(w2.Sheets.Count)

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.