reymondddd
New Member
- Joined
- Feb 26, 2016
- Messages
- 2
Hi,
So basically I have numbers of excel file with numbers of sheet also.
I run code that copy all the data but it copies as is creating a new sheet and not consolidating all the data in 1 sheet.
Like 2 excel file with 5 sheet and 3 sheet into new workbook with 1 sheet consolidating all the data from 8 sheets in total.
The code I research was so good but I cant make it to what I want it to be.
Please help. Thank you so much in advance. Big Fan of this forum, from school thesis up to working.
So basically I have numbers of excel file with numbers of sheet also.
I run code that copy all the data but it copies as is creating a new sheet and not consolidating all the data in 1 sheet.
Like 2 excel file with 5 sheet and 3 sheet into new workbook with 1 sheet consolidating all the data from 8 sheets in total.
The code I research was so good but I cant make it to what I want it to be.
Please help. Thank you so much in advance. Big Fan of this forum, from school thesis up to working.
Code:
Sub MergeExcelFiles() Dim fnameList, fnameCurFile As Variant
Dim countFiles, countSheets As Integer
Dim wksCurSheet As Worksheet
Dim wbkCurBook, wbkSrcBook As Workbook
fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
If (vbBoolean <> VarType(fnameList)) Then
If (UBound(fnameList) > 0) Then
countFiles = 0
countSheets = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wbkCurBook = ActiveWorkbook
For Each fnameCurFile In fnameList
countFiles = countFiles + 1
Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
For Each wksCurSheet In wbkSrcBook.Sheets
countSheets = countSheets + 1
wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
'wksCurSheet.Copy after:=ThisWorkbook.Sheets(1)
Next
wbkSrcBook.Close SaveChanges:=False
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
End If
Else
MsgBox "No files selected", Title:="Merge Excel files"
End If
End Sub
Last edited by a moderator: