Sub Macro1()
Dim WBO As Workbook 'original workbook
Dim WBN As Workbook 'new workbook
Dim WSO As Worksheet 'original worksheet
Dim WSN As Worksheet 'new worksheet
Dim r As Long
Dim finalrow As Long
Dim strDate As String
MkDir ThisWorkbook.Path & "\Anico"
MkDir ThisWorkbook.Path & "\Empower"
MkDir ThisWorkbook.Path & "\MM"
MkDir ThisWorkbook.Path & "\Voya1"
MkDir ThisWorkbook.Path & "\Voya2"
MkDir ThisWorkbook.Path & "\Voya3"
MkDir ThisWorkbook.Path & "\Voya4"
MkDir ThisWorkbook.Path & "\Voya5"
MkDir ThisWorkbook.Path & "\Voya6"
strDate = InputBox("Enter date as mm-dd-yy", "User date", Format(Now(), "mm-dd-yy"))
If IsDate(strDate) Then
strDate = Format(CDate(strDate), "mm-dd-yy")
MsgBox strDate
Else
MsgBox "Incorrect date format!"
End If
Sheets("Template").Activate
Set WBO = ActiveWorkbook
Set WSO = ActiveSheet
Application.ScreenUpdating = False
finalrow = WSO.Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells.Replace What:="Dent Busters Inc.", Replacement:= _
"Waldron Auto Body Inc.", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="Lancaster A-1 Auto Body Carstar", Replacement:= _
"Waldron Auto Body Inc.", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="Thomas Waldron Auto Body LLC", Replacement:= _
"Waldron Auto Body Inc.", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
:=False, SearchFormat:=False, ReplaceFormat:=False
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Columns("F:J").Select
Selection.Delete Shift:=xlToLeft
Columns("H:L").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
Selection.Cut
Columns("O:O").Select
Selection.Insert Shift:=xlToRight
Columns("G:L").Select
Selection.Cut
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Columns("K:L").Select
Selection.Cut
Columns("H:H").Select
Selection.Insert Shift:=xlToRight
Columns("K:L").Select
Selection.Cut
Columns("J:J").Select
Selection.Insert Shift:=xlToRight
Columns("M:M").Select
Selection.Delete Shift:=xlToLeft
Cells.Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$AI$" & finalrow).AutoFilter Field:=2, Criteria1:="0"
ActiveSheet.Range("$A$1:$AI$" & finalrow).AutoFilter Field:=3, Criteria1:="0"
ActiveSheet.Range("$A$1:$AI$" & finalrow).AutoFilter Field:=4, Criteria1:="0"
ActiveSheet.Range("$A$1:$AI$" & finalrow).AutoFilter Field:=7, Criteria1:="0"
Rows("2:" & finalrow).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter
Range("A1").Select
ActiveCell.FormulaR1C1 = "SSN"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Deferral"
Range("D1").Select
ActiveCell.FormulaR1C1 = "SHM"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Disc"
Range("F1").Select
ActiveCell.FormulaR1C1 = "PS"
Range("G1").Select
ActiveCell.FormulaR1C1 = "Loan"
Range("J1").Select
ActiveCell.FormulaR1C1 = " First Name"
Range("K1").Select
ActiveCell.FormulaR1C1 = " M.I."
Range("L1").Select
ActiveCell.FormulaR1C1 = " Last Name"
Range("A1").Select
Workbooks.Open Filename:= _
"C:\RMI Vendor List.xlsx"
WBO.Activate
Application.Calculation = xlCalculationAutomatic
WSO.Range("N2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'RMI Vendor List.xlsx'!VendorTbl[#Data],2,0" & Chr(10) & ")"
With WSO.Range("N2")
.AutoFill Destination:=Range("N2:N" & finalrow)
End With
WSO.Sort.SortFields.Clear
WSO.Sort.SortFields.Add Key:=Range("N2:N" & finalrow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With WSO.Sort
.SetRange Range("A1:N" & finalrow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("N:N").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
Cells.Find(What:="#N/A", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Delete
'sort data
WSO.Range("A1:N" & finalrow).Select
WSO.Sort.SortFields.Clear
Selection.Sort Key1:=Range("M2"), Order1:=xlAscending, Header:=xlGuess, Orientation:=xlSortColumns
With ActiveWorkbook.Worksheets("Template").Sort
.SetRange Range("A1:N" & finalrow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A2").Select
LastClient = Cells(2, 13)
startrow = 2
For r = 2 To finalrow
ThisClient = WSO.Cells(r, 13)
If ThisClient = LastClient Then
Else
lastrow = r - 1
RowCount = lastrow - startrow + 1
Set WBN = Workbooks.Add(template:=xlWBATWorksheet)
Set WSN = WBN.Worksheets(1)
WSN.Name = "Sheet1"
WSO.Range("A1:M1").Copy Destination:=WSN.Cells(1, 1)
WSO.Range(WSO.Cells(startrow, 1), WSO.Cells(lastrow, 14)).Copy Destination:=WSN.Cells(2, 1)
FN = "\" & WSN.Range("N2") & "\" & LastClient & " " & strDate & ".xlsx"
FP = WBO.Path & Application.PathSeparator
WBN.SaveAs Filename:=FP & FN
WBN.Close SaveChanges:=False
LastClient = ThisClient
startrow = r
End If
Next r
Workbooks("RMI Vendor List.xlsx").Close SaveChanges:=Fales
Application.ScreenUpdating = True
End Sub