如何在VBA中将工作表从一个工作簿移动到另一个工作簿

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

我已经尝试了解其他人的问题,但我无法弄清楚为什么我的代码不起作用。这就是我所拥有的:

Sub Move_Sheets()

Dim PTrend As Worksheet
Dim Strend As Worksheet
Dim wb1 As Workbook
Dim wb2 As Workbook

Set wb1 = Workbooks("Workbook1.xlsb")
Set wb2 = Workbooks("Workbook2.xlsb")
Set PTrend = wb2.Worksheets("Sheet1")
Set Strend = wb2.Worksheets("Sheet2")

With wb2
    .Sheets(Array(PTrend, Strend)).Copy Before:=wb1.Sheets(7)
End With


End Sub

我试图将工作簿2中的工作表移动到工作簿1.我的错误发生在我的“with statement”。为什么我的代码不起作用?

一如既往,感谢所有人的帮助。

G

excel vba excel-vba
1个回答
1
投票

当您传递工作表对象时,.Sheets期待工作表名称。

试试这样......

With wb2
    .Sheets(Array(PTrend.Name, Strend.Name)).Copy Before:=wb1.Sheets(7)
End With
© www.soinside.com 2019 - 2024. All rights reserved.