如何在VBA

时间:2018-01-27 19:02:10

标签: excel vba excel-vba

我尝试过其他人的问题,但我无法弄清楚为什么我的代码无效。这就是我所拥有的:

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”中。为什么我的代码不起作用?

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

1 个答案:

答案 0 :(得分:1)

传递工作表对象时,

.Sheets期待工作表名称。

尝试这样......

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