Excel将活动工作表和指定工作表复制到新工作簿

时间:2017-01-04 22:43:00

标签: excel vba excel-vba

我试图将活动工作表和2个指定工作表复制到新工作簿,然后让宏继续在新工作簿上运行以在保存之前更改一些内容

我想按照工作表代码

复制工作表
  • 第一张第3张复印件将是"活动表"
  • 第二张代号为" DropDown_Sheet_1_VB"
  • 第3张代号为" Control_Sheet_VB"

示例代码。

Sub Create_Work_Order()

Workbooks.Add

ActiveSheet.Copy 'copy to new workbook
DropDown_Sheet_1_VB.Copy 'also copy to new workbook
Control_Sheet_VB.Copy 'also copy to new workbook

Dim NewWB As Workbook

NewWB.ActiveSheet.Range("A1").Copy 'do stuff on new workbook
NewWB.Save

End Sub

1 个答案:

答案 0 :(得分:1)

除了复制A1范围之外,我不知道最后的东西是什么,但我也把它放在那里。

您只需在开头分配工作簿对象(我的示例中的wrk,样本中的NewWB - 变量名称无关紧要),并告诉Copy方法复制的位置。您将看到我指定了第一个参数 - 即:之前 - 作为wrk.Worksheets(1),因此复制的工作表将在新工作簿中的第一个工作表之前复制。

Sub Create_Work_Order()
Dim currentWrk As Workbook
Dim wrk As Workbook

Set currentWrk = ActiveWorkbook
Set wrk = Workbooks.Add

currentWrk.ActiveSheet.Copy wrk.Worksheets(1)
DropDown_Sheet_1_VB.Copy wrk.Worksheets(1)
Control_Sheet_VB.Copy wrk.Worksheets(1)

'wrk.ActiveSheet.Range("A1").Copy 'do stuff on new workbook
wrk.Save

' EDIT: I added following to change the functions to refer to the new file
wrk.ChangeLink currentWrk.FullName, wrk.FullName, xlExcelLinks  
wrk.Save


End Sub