2014-02-24 39 views
0

我有一個工作簿,我使用它作爲主模板,每個工作簿都有不同的選項卡創建多個變體併發送到不同的通訊組列表。如何讓VBA在保存併發送每個'sub'版本後返回到主工作簿?這裏是我的那些子版本之一代碼: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.

回答

1

如果您在開發代碼時將主工作簿定義爲工作簿對象,則可以稍後再次激活該工作簿。

定義主簿這樣的(假設它是活動的工作簿,當你開始運行你的代碼):

Dim MasterWb As Workbook 
Set MasterWb = ActiveWorkbook 

然後當你要重新激活該工作簿中,你可以做到這一點:

MasterWb.Activate 
+0

這麼簡單。謝謝! –