Sub MergeSheets()
'Variable defines
Dim currbook As Workbook
Dim currsheet As Worksheet
Dim s As Worksheet
Dim I As Integer
Dim J As Integer
Dim sCount As Integer
Dim closeBooks() As Workbook
Dim WSNames() As String
'Begin logic here
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Iterate over all of the workbooks and copy all sheets to the new workbook
z = ThisWorkbook.Sheets.Count
p = 1
cnt = Workbooks.Count
For x = 1 To cnt
If Workbooks(x).Name <> ThisWorkbook.Name Then
Cells.Select
Cells.EntireColumn.AutoFit
Range("A1").Select
Set currbook = Workbooks(x)
ReDim Preserve closeBooks(1 To p)
Set closeBooks(p) = currbook
p = p + 1
For y = 1 To currbook.Sheets.Count
Set currsheet = currbook.Sheets(y)
currsheet.Copy After:=ThisWorkbook.Sheets(z)
z = z + 1
Next y
End If
Next x
Dim SheetOrder As Variant
SheetOrder = Array("Review Findings - CA use ONLY", "Previous Issues", "Summary", "Average Trend", "Average Trend Graph", "Weighted Average Trend", "Avg WA Diff", "Delq Trending", "Paid Ahead Trending", "Delinq Class - By Branch", "180 Plus Delinquent Accounts", "Recency Delinq Class - Company", "Recency Delinq Class - By Branch", "Outstandings By Branch", "Expired Term Loans", "First Payment Defaults", "Paid Ahead 120 Plus Loans", "Originations By Month", "Originations By Quarter", "Company Loan Concentrations", "Multiple Loan Concentrations", "Duplicate VINs", "Duplicate SSNs", "Invalid SSNs", "Advertising SSN 1", "Advertising SSN 2", "High APR Loans", "Less Than 10 Percent APR Loans", "Negative APR Loans", "Year of Auto Classification", "Rescheduled Bankruptcy Loans", "Rescheduled Loans", "Loans with Bal Greater than 800", "Two Months Originations") ' Required Order
For I = UBound(SheetOrder) To LBound(SheetOrder) + 1 Step -1
Sheets(Trim(SheetOrder(I))).Move After:=Sheets(Trim(SheetOrder(LBound(SheetOrder))))
Next
For x = 1 To UBound(closeBooks)
closeBooks(x).Close
Next x
AddDetails
End Sub
Sub GetSheetsToMerge()
MsgBox "Select worksheets to add to Workbook"
Dim odlg As Dialog
Set odlg = Application.Dialogs(xlDialogOpen)
tf = odlg.Show()
If tf = True Then
MergeSheets
End If
End Sub