我试图将活动工作表和2个指定工作表复制到新工作簿,然后让宏继续在新工作簿上运行以在保存之前更改一些内容
我想按照工作表代码
复制工作表示例代码。
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
答案 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