Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have 3 Excel files in a folder. I wanted to setup some kind of macro or
programming to combine the three files as three tabs in a single file. Could someone kindly assist me on this. 2 of the excel files have 2 tabs each and one file has 1 tab. So when they are combined it makes one file with 5 tabs. In effect I will have 20 folder each with 3 files -structure will be the same that is 2 files with 2 tabs and 1 file with one tab and they are to be made into one file with tabs. Thanks so much for your help Sam Commar |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The macro below will seach each folder in the Root directroy and combine all
sheets in all workbook into a single workbook. then it will save the new book in the same directroy using the parent folders name. Sub Combinebooks() Root = "c:\Temp" Set fso = CreateObject _ ("Scripting.FileSystemObject") Set folder = _ fso.GetFolder(Root) For Each sf In folder.subfolders First = True FName = Dir(sf & "\*.xls") Do While FName < "" Set bk = Workbooks.Open(Filename:=sf & "\" & FName) For Each sht In bk.Sheets If First = True Then sht.Copy Set newbk = ActiveWorkbook First = False Else With newbk sht.Copy _ after:=.Sheets(.Sheets.Count) End With End If Next sht bk.Close savechanges:=False FName = Dir() Loop newbk.SaveAs Filename:=sf & "\" & _ sf.Name & ".xls" newbk.Close Next sf End Sub "Sam Commar" wrote: I have 3 Excel files in a folder. I wanted to setup some kind of macro or programming to combine the three files as three tabs in a single file. Could someone kindly assist me on this. 2 of the excel files have 2 tabs each and one file has 1 tab. So when they are combined it makes one file with 5 tabs. In effect I will have 20 folder each with 3 files -structure will be the same that is 2 files with 2 tabs and 1 file with one tab and they are to be made into one file with tabs. Thanks so much for your help Sam Commar |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Joel
Thanks so much . I really appreciate it. Ill test it right now. "joel" wrote in message ... The macro below will seach each folder in the Root directroy and combine all sheets in all workbook into a single workbook. then it will save the new book in the same directroy using the parent folders name. Sub Combinebooks() Root = "c:\Temp" Set fso = CreateObject _ ("Scripting.FileSystemObject") Set folder = _ fso.GetFolder(Root) For Each sf In folder.subfolders First = True FName = Dir(sf & "\*.xls") Do While FName < "" Set bk = Workbooks.Open(Filename:=sf & "\" & FName) For Each sht In bk.Sheets If First = True Then sht.Copy Set newbk = ActiveWorkbook First = False Else With newbk sht.Copy _ after:=.Sheets(.Sheets.Count) End With End If Next sht bk.Close savechanges:=False FName = Dir() Loop newbk.SaveAs Filename:=sf & "\" & _ sf.Name & ".xls" newbk.Close Next sf End Sub "Sam Commar" wrote: I have 3 Excel files in a folder. I wanted to setup some kind of macro or programming to combine the three files as three tabs in a single file. Could someone kindly assist me on this. 2 of the excel files have 2 tabs each and one file has 1 tab. So when they are combined it makes one file with 5 tabs. In effect I will have 20 folder each with 3 files -structure will be the same that is 2 files with 2 tabs and 1 file with one tab and they are to be made into one file with tabs. Thanks so much for your help Sam Commar |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Joel
When I run it it errors out on the item below newbk.SaveAs Filename:=sf & "\" & _ sf.Name & ".xls" "Sam Commar" wrote in message ... Joel Thanks so much . I really appreciate it. Ill test it right now. "joel" wrote in message ... The macro below will seach each folder in the Root directroy and combine all sheets in all workbook into a single workbook. then it will save the new book in the same directroy using the parent folders name. Sub Combinebooks() Root = "c:\Temp" Set fso = CreateObject _ ("Scripting.FileSystemObject") Set folder = _ fso.GetFolder(Root) For Each sf In folder.subfolders First = True FName = Dir(sf & "\*.xls") Do While FName < "" Set bk = Workbooks.Open(Filename:=sf & "\" & FName) For Each sht In bk.Sheets If First = True Then sht.Copy Set newbk = ActiveWorkbook First = False Else With newbk sht.Copy _ after:=.Sheets(.Sheets.Count) End With End If Next sht bk.Close savechanges:=False FName = Dir() Loop newbk.SaveAs Filename:=sf & "\" & _ sf.Name & ".xls" newbk.Close Next sf End Sub "Sam Commar" wrote: I have 3 Excel files in a folder. I wanted to setup some kind of macro or programming to combine the three files as three tabs in a single file. Could someone kindly assist me on this. 2 of the excel files have 2 tabs each and one file has 1 tab. So when they are combined it makes one file with 5 tabs. In effect I will have 20 folder each with 3 files -structure will be the same that is 2 files with 2 tabs and 1 file with one tab and they are to be made into one file with tabs. Thanks so much for your help Sam Commar |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Sorry the error it gives is
Run time error '424' Object required "Sam Commar" wrote in message ... Joel When I run it it errors out on the item below newbk.SaveAs Filename:=sf & "\" & _ sf.Name & ".xls" "Sam Commar" wrote in message ... Joel Thanks so much . I really appreciate it. Ill test it right now. "joel" wrote in message ... The macro below will seach each folder in the Root directroy and combine all sheets in all workbook into a single workbook. then it will save the new book in the same directroy using the parent folders name. Sub Combinebooks() Root = "c:\Temp" Set fso = CreateObject _ ("Scripting.FileSystemObject") Set folder = _ fso.GetFolder(Root) For Each sf In folder.subfolders First = True FName = Dir(sf & "\*.xls") Do While FName < "" Set bk = Workbooks.Open(Filename:=sf & "\" & FName) For Each sht In bk.Sheets If First = True Then sht.Copy Set newbk = ActiveWorkbook First = False Else With newbk sht.Copy _ after:=.Sheets(.Sheets.Count) End With End If Next sht bk.Close savechanges:=False FName = Dir() Loop newbk.SaveAs Filename:=sf & "\" & _ sf.Name & ".xls" newbk.Close Next sf End Sub "Sam Commar" wrote: I have 3 Excel files in a folder. I wanted to setup some kind of macro or programming to combine the three files as three tabs in a single file. Could someone kindly assist me on this. 2 of the excel files have 2 tabs each and one file has 1 tab. So when they are combined it makes one file with 5 tabs. In effect I will have 20 folder each with 3 files -structure will be the same that is 2 files with 2 tabs and 1 file with one tab and they are to be made into one file with tabs. Thanks so much for your help Sam Commar |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How to set up single Header/Footer for all tabs in Excel Workbook. | Excel Worksheet Functions | |||
how can I combine multiple worksheets into a single workbook? | Excel Discussion (Misc queries) | |||
Trying to write macro to combine data in multiple tabs into a single tab. | Excel Programming | |||
merging single worksheet files into a single workbook | Excel Discussion (Misc queries) | |||
Select sheet tabs in workbook & save to separate workbook files | Excel Worksheet Functions |