我有一个工作簿,我将其用作主模板,它具有多个变体,每个变体都使用不同的标签创建,并发送到不同的分发列表。如何在保存并发送每个“子”版本后告诉VBA返回主工作簿?这是我的其中一个子版本的代码:
Sub Alignment_Final()
'
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With
Sheets(Array("T1", "T2", "T3", "T4", "T5", "CS", "Updates", "Branch Updates", "CS Updates", "Control", "BDE", "Termed BBO", "Alignment")). _
Select
Sheets("Branch Updates").Activate
ActiveWindow.SelectedSheets.Delete
Sheets("Branch Alignment").Activate
FPath = "C:\Users\mmarshall\Documents\Alignment"
FName = "Alignment" & Format(Date, "dd-mm-yyyy") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=FPath & "\" & FName
Call Mail_To_DL
With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
End With
End Sub
这很好用,但它让我在新版本的工作簿中。创建完成后,我需要返回主工作簿(称为主对齐)并通过电子邮件发送以创建更多版本,每个版本中包含不同的工作表。如果这是初步的,我道歉。我在Windows 7上运行Excel 2010。
答案 0 :(得分:1)
如果在代码的开头将主工作簿定义为工作簿对象,则可以稍后再次激活该工作簿。
像这样定义主工作簿(假设在开始运行代码时它是您的活动工作簿):
Dim MasterWb As Workbook
Set MasterWb = ActiveWorkbook
然后,当您想再次激活该工作簿时,可以通过以下方式执行此操作:
MasterWb.Activate