Option Explicit
Sub OpenCopyCloseFormatSaveNewFiles()
Dim wbToOpen As Workbook
Dim wbCodeBook As Workbook 'formatter.xls
Dim lngLoopCtr As Long
Dim strFileNameToOpen As String
Dim strEmployeeFileName As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
On Error Resume Next
Set wbCodeBook = ThisWorkbook
wbCodeBook.Worksheets("raw").Select
With wbCodeBook
For lngLoopCtr = 11 To 27 Step 1
strFileNameToOpen = wbCodeBook.Worksheets("front").Cells(lngLoopCtr, "I").Value
With Application.FileSearch
.NewSearch
'******************************************************************************
'Change path to suit
.LookIn = "c:\my documents\data"
'******************************************************************************
.FileType = msoFileTypeExcelWorkbooks
.Filename = strFileNameToOpen
Workbooks.Open Filename:=.LookIn & "\" & strFileNameToOpen
Set wbToOpen = Workbooks.Open(Filename:=.Filename)
Windows(.Filename).Activate
wbToOpen.Worksheets("Sheet1").Select
Cells.Select
Selection.Copy
Windows("formatter.xls").Activate
Worksheets("raw").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
Windows(.Filename).Activate
Range("A1").Select
Application.CutCopyMode = False
Windows(.Filename).Close savechanges:=False
End With
strEmployeeFileName = wbCodeBook.Worksheets("front").Cells(lngLoopCtr, "G").Value
'Your code to manipulate/format data in sheets "raw", "annual", "share", "cash".
Application.Run "'Sales data viewer.xls'!FormatMyData"
Workbooks.Add
Sheets("Sheet1").Select
Sheets("Sheet1").Name = "raw"
wbCodeBook.Worksheets("raw").Cells.Copy Sheets("raw").Cells
Application.CutCopyMode = False
Sheets.Add
Sheets("Sheet2").Select
Sheets("Sheet2").Name = "annual"
wbCodeBook.Worksheets("annual").Cells.Copy Sheets("annual").Cells
Application.CutCopyMode = False
Sheets.Add
Sheets("Sheet3").Select
Sheets("Sheet3").Name = "share"
wbCodeBook.Worksheets("share").Cells.Copy Sheets("share").Cells
Application.CutCopyMode = False
Sheets.Add
Sheets("Sheet4").Select
Sheets("Sheet4").Name = "cash"
wbCodeBook.Worksheets("cash").Cells.Copy Sheets("cash").Cells
Application.CutCopyMode = False
'******************************************************************************
'You can change the path to where you want the new employee files are to be saved
' "c:\my documents\data\"
ActiveWorkbook.SaveAs Filename:="c:\my documents\data\" & strEmployeeFileName & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
'******************************************************************************
ActiveWorkbook.Save
ActiveWorkbook.Close
'Clear sheets cash, share, annual, raw for next file to open/employee file to save
wbCodeBook.Worksheets("raw").Cells.Clear
wbCodeBook.Worksheets("cash").Cells.Clear
wbCodeBook.Worksheets("share").Cells.Clear
wbCodeBook.Worksheets("annual").Cells.Clear
Next lngLoopCtr
End With
On Error GoTo 0
wbCodeBook.Worksheets("front").Select
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub