Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Code--------!
Dear Friends,
Can Anybody provide with the vba code for merging all the worksheets of all the open workbooks. Ie; all the open workbooks' sheets should be moved to one neew workbook. Is this possible. Regards Thyagaraj |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Code--------!
Hi Thyagaraj,
Can Anybody provide with the vba code for merging all the worksheets of all the open workbooks. Ie; all the open workbooks' sheets should be moved to one neew workbook. Try something like: '============= Public Sub MergeBooks() Dim destWb As Workbook Dim WB As Workbook Dim SH As Worksheet Dim i As Long Dim sstr As String Const sName As String = "My Summary" sstr = Trim(sName) & " " & Format(Date, "yyyymmdd") Set destWb = Workbooks.Add(xlWBATWorksheet) Set SH = destWb.Worksheets(1) SH.Name = "Summary" Application.ScreenUpdating = False With destWb For Each WB In Application.Workbooks If WB.Name < .Name _ And UCase(WB.Name) < "PERSONAL.XLS" Then i = i + 1 WB.Worksheets.Copy after:=.Sheets(.Sheets.Count) SH.Cells(i, "A").Value = WB.Name SH.Cells(i, "B").Value = WB.Worksheets.Count End If Next WB End With destWb.SaveAs Filename:=sstr, _ FileFormat:=xlWorkbookNormal Application.ScreenUpdating = True End Sub '<<============= --- Regards, Norman "Thyagaraj" wrote in message oups.com... Dear Friends, Can Anybody provide with the vba code for merging all the worksheets of all the open workbooks. Ie; all the open workbooks' sheets should be moved to one neew workbook. Is this possible. Regards Thyagaraj |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Code--------!
Hi Thyagaraj,
In order to ensure better naming of the summary books worksheets and to enable indentification of the source of these sheets, try the following version: '============= Public Sub MergeBooks2() Dim destWb As Workbook Dim WB As Workbook Dim SH As Worksheet Dim i As Long, j As Long, k As Long, m As Long, n As Long Dim sstr As String Dim sStr2 As String Const sName As String = "My Summary" sstr = Trim(sName) & " " & Format(Date, "yyyymmdd") Set destWb = Workbooks.Add(xlWBATWorksheet) Set SH = destWb.Worksheets(1) SH.Name = "Summary" On Error GoTo XIT Application.ScreenUpdating = False With destWb For Each WB In Application.Workbooks If WB.Name < .Name _ And UCase(WB.Name) < "PERSONAL.XLS" Then sStr2 = Replace(WB.Name, ".xls", "") i = i + 1 j = destWb.Sheets.Count WB.Worksheets.Copy after:=.Sheets(j) k = destWb.Sheets.Count For m = j + 1 To k n = n + 1 destWb.Worksheets(m).Name = sStr2 & " Sh" & CStr(n) SH.Cells(i, "A").Offset(0, n).Value = WB.Worksheets(n).Name Next m SH.Cells(i, "A").Value = WB.Name j = 0: k = 0: m = 0: n = 0 End If Next WB End With destWb.SaveAs Filename:=sstr, _ FileFormat:=xlWorkbookNormal XIT: Application.ScreenUpdating = True End Sub '<<============= --- Regards, Norman |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Code--------!
Norman Jones wrote: Hi Thyagaraj, In order to ensure better naming of the summary books worksheets and to enable indentification of the source of these sheets, try the following version: '============= Public Sub MergeBooks2() Dim destWb As Workbook Dim WB As Workbook Dim SH As Worksheet Dim i As Long, j As Long, k As Long, m As Long, n As Long Dim sstr As String Dim sStr2 As String Const sName As String = "My Summary" sstr = Trim(sName) & " " & Format(Date, "yyyymmdd") Set destWb = Workbooks.Add(xlWBATWorksheet) Set SH = destWb.Worksheets(1) SH.Name = "Summary" On Error GoTo XIT Application.ScreenUpdating = False With destWb For Each WB In Application.Workbooks If WB.Name < .Name _ And UCase(WB.Name) < "PERSONAL.XLS" Then sStr2 = Replace(WB.Name, ".xls", "") i = i + 1 j = destWb.Sheets.Count WB.Worksheets.Copy after:=.Sheets(j) k = destWb.Sheets.Count For m = j + 1 To k n = n + 1 destWb.Worksheets(m).Name = sStr2 & " Sh" & CStr(n) SH.Cells(i, "A").Offset(0, n).Value = WB.Worksheets(n).Name Next m SH.Cells(i, "A").Value = WB.Name j = 0: k = 0: m = 0: n = 0 End If Next WB End With destWb.SaveAs Filename:=sstr, _ FileFormat:=xlWorkbookNormal XIT: Application.ScreenUpdating = True End Sub '<<============= --- Regards, Norman Dear Norman, This really great from your side, its working fine...........! Thank u regards Thyagaraj |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
split post code (zip code) out of cell that includes full address | Excel Discussion (Misc queries) | |||
Drop Down/List w/Code and Definition, only code entered when selec | Excel Worksheet Functions | |||
run code on opening workbook and apply code to certain sheets | Excel Programming | |||
stubborn Excel crash when editing code with code, one solution | Excel Programming | |||
VBA code delete code but ask for password and unlock VBA protection | Excel Programming |