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

标签 vba excel

我已经尝试过其他人的要求,但我一生都无法弄清楚为什么我的代码不起作用。这就是我所拥有的:

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 语句”出现错误。为什么我的代码不起作用?

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

G

最佳答案

.Sheets在传递工作表对象时需要工作表名称。

试试这样...

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

关于vba - 如何在 VBA 中将工作表从一个工作簿移动到另一个工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48479444/

相关文章:

excel - 将字符串添加到循环中同一单元格的下一行

excel - VSTO - Word 和 Excel 的共享插件以修改功能区

Excel公式: For each instance of value in column,获取同一行另一列的值

Excel公式查找文本并在同一单元格中输入回车

string - 如何在VBA中使用worksheetfunction.Trim很长的字符串?

excel - 当您打开 "safe mode"中的另一个文件时,应用程序功能不起作用

excel - 根据另一个 excel 文件中的值删除 excel 文件中记录的最快方法

excel - 用excel生成word文档

vba - excel vba - 在自动筛选后选择除标题之外的所有筛选行

excel - OLEDB中IMEX的默认值是多少?