Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello,
I would like to copy two worksheets (formatting and all...) from one workbook and create a new workbook with just those two sheets. Here is the code I used to copy one worksheet, but I can not figure out how to do two. I am not opposed to all new coding: ' save worksheet with this file name FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" newsht = ActiveSheet.Copy Set Wkb = ActiveWorkbook Wkb.Sheets("Current Openings").Name = "Current Openings" With ActiveWorkbook .SaveAs Filename:=FilePathName .Close False End With Thank you in advance for your help! |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi mike
See how i do it in this mail macro with a array http://www.rondebruin.nl/mail/folder1/mail3.htm I also create a temporary window to avoid a bug It is up to you if you want to use it -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hello, I would like to copy two worksheets (formatting and all...) from one workbook and create a new workbook with just those two sheets. Here is the code I used to copy one worksheet, but I can not figure out how to do two. I am not opposed to all new coding: ' save worksheet with this file name FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" newsht = ActiveSheet.Copy Set Wkb = ActiveWorkbook Wkb.Sheets("Current Openings").Name = "Current Openings" With ActiveWorkbook .SaveAs Filename:=FilePathName .Close False End With Thank you in advance for your help! |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Ron,
For some reason, I am getting a "Subscript out of range" error on the Array line of code. I did change the Sheets to my actual sheets I want to copy. Help... Mike "Ron de Bruin" wrote: Hi mike See how i do it in this mail macro with a array http://www.rondebruin.nl/mail/folder1/mail3.htm I also create a temporary window to avoid a bug It is up to you if you want to use it -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hello, I would like to copy two worksheets (formatting and all...) from one workbook and create a new workbook with just those two sheets. Here is the code I used to copy one worksheet, but I can not figure out how to do two. I am not opposed to all new coding: ' save worksheet with this file name FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" newsht = ActiveSheet.Copy Set Wkb = ActiveWorkbook Wkb.Sheets("Current Openings").Name = "Current Openings" With ActiveWorkbook .SaveAs Filename:=FilePathName .Close False End With Thank you in advance for your help! |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Show me the code Mike that you use now
-- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hi Ron, For some reason, I am getting a "Subscript out of range" error on the Array line of code. I did change the Sheets to my actual sheets I want to copy. Help... Mike "Ron de Bruin" wrote: Hi mike See how i do it in this mail macro with a array http://www.rondebruin.nl/mail/folder1/mail3.htm I also create a temporary window to avoid a bug It is up to you if you want to use it -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hello, I would like to copy two worksheets (formatting and all...) from one workbook and create a new workbook with just those two sheets. Here is the code I used to copy one worksheet, but I can not figure out how to do two. I am not opposed to all new coding: ' save worksheet with this file name FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" newsht = ActiveSheet.Copy Set Wkb = ActiveWorkbook Wkb.Sheets("Current Openings").Name = "Current Openings" With ActiveWorkbook .SaveAs Filename:=FilePathName .Close False End With Thank you in advance for your help! |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Here it is... thanks Ron.
Sub aUpdate_Daily() Dim FilePathName As String Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim sh As Worksheet Dim TheActiveWindow As Window Dim TempWindow As Window With Application .ScreenUpdating = False .EnableEvents = False End With Set Sourcewb = ActiveWorkbook 'Copy the sheets to a new workbook 'We add a temporary Window to avoid the Copy problem 'if there is a List or Table in one of the sheets and 'if the sheets are grouped With Sourcewb Set TheActiveWindow = ActiveWindow Set TempWindow = .NewWindow .Sheets(Array("Sheet10", "Sheet13")).Copy End With 'Close temporary Window TempWindow.Close Set Destwb = ActiveWorkbook ' 'Change all cells in the worksheets to values if you want For Each sh In Destwb.Worksheets sh.Select With sh.UsedRange .Cells.Copy .Cells.PasteSpecial xlPasteValues .Cells(1).Select End With Application.CutCopyMode = False Destwb.Worksheets(1).Select Next sh 'Save the new workbook/Mail it/Delete it FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" With Destwb .SaveAs FilePathName .Close SaveChanges:=False End With With Application .ScreenUpdating = True .EnableEvents = True End With End Sub "Ron de Bruin" wrote: Show me the code Mike that you use now -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hi Ron, For some reason, I am getting a "Subscript out of range" error on the Array line of code. I did change the Sheets to my actual sheets I want to copy. Help... Mike "Ron de Bruin" wrote: Hi mike See how i do it in this mail macro with a array http://www.rondebruin.nl/mail/folder1/mail3.htm I also create a temporary window to avoid a bug It is up to you if you want to use it -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hello, I would like to copy two worksheets (formatting and all...) from one workbook and create a new workbook with just those two sheets. Here is the code I used to copy one worksheet, but I can not figure out how to do two. I am not opposed to all new coding: ' save worksheet with this file name FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" newsht = ActiveSheet.Copy Set Wkb = ActiveWorkbook Wkb.Sheets("Current Openings").Name = "Current Openings" With ActiveWorkbook .SaveAs Filename:=FilePathName .Close False End With Thank you in advance for your help! |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Mike
The sheet names are not correct then Maybe there is a space before or after the sheet name Check this out -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Here it is... thanks Ron. Sub aUpdate_Daily() Dim FilePathName As String Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim sh As Worksheet Dim TheActiveWindow As Window Dim TempWindow As Window With Application .ScreenUpdating = False .EnableEvents = False End With Set Sourcewb = ActiveWorkbook 'Copy the sheets to a new workbook 'We add a temporary Window to avoid the Copy problem 'if there is a List or Table in one of the sheets and 'if the sheets are grouped With Sourcewb Set TheActiveWindow = ActiveWindow Set TempWindow = .NewWindow .Sheets(Array("Sheet10", "Sheet13")).Copy End With 'Close temporary Window TempWindow.Close Set Destwb = ActiveWorkbook ' 'Change all cells in the worksheets to values if you want For Each sh In Destwb.Worksheets sh.Select With sh.UsedRange .Cells.Copy .Cells.PasteSpecial xlPasteValues .Cells(1).Select End With Application.CutCopyMode = False Destwb.Worksheets(1).Select Next sh 'Save the new workbook/Mail it/Delete it FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" With Destwb .SaveAs FilePathName .Close SaveChanges:=False End With With Application .ScreenUpdating = True .EnableEvents = True End With End Sub "Ron de Bruin" wrote: Show me the code Mike that you use now -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hi Ron, For some reason, I am getting a "Subscript out of range" error on the Array line of code. I did change the Sheets to my actual sheets I want to copy. Help... Mike "Ron de Bruin" wrote: Hi mike See how i do it in this mail macro with a array http://www.rondebruin.nl/mail/folder1/mail3.htm I also create a temporary window to avoid a bug It is up to you if you want to use it -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "Mike R." wrote in message ... Hello, I would like to copy two worksheets (formatting and all...) from one workbook and create a new workbook with just those two sheets. Here is the code I used to copy one worksheet, but I can not figure out how to do two. I am not opposed to all new coding: ' save worksheet with this file name FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" newsht = ActiveSheet.Copy Set Wkb = ActiveWorkbook Wkb.Sheets("Current Openings").Name = "Current Openings" With ActiveWorkbook .SaveAs Filename:=FilePathName .Close False End With Thank you in advance for your help! |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
not tested but something like this maybe:
Dim Wkb As Workbook Dim FilePathName As String With Sheets("Data") FilePathName = .Range("I23") & "\" & _ .Range("I19") & "\" & _ .Range("I21") & "\" & _ Date$ & ".xls" End With 'sheets you want to copy '- change as required Sheets(Array("Sheet1", "Sheet2")).Copy Set Wkb = ActiveWorkbook With Wkb .SaveAs Filename:=FilePathName .Close False End With -- jb "Mike R." wrote: Hello, I would like to copy two worksheets (formatting and all...) from one workbook and create a new workbook with just those two sheets. Here is the code I used to copy one worksheet, but I can not figure out how to do two. I am not opposed to all new coding: ' save worksheet with this file name FilePathName = Sheets("Data").Range("I23") & "\" & Sheets("Data").Range("I19") & "\" & Sheets("Data").Range("I21") & "\" & Date$ & ".xls" newsht = ActiveSheet.Copy Set Wkb = ActiveWorkbook Wkb.Sheets("Current Openings").Name = "Current Openings" With ActiveWorkbook .SaveAs Filename:=FilePathName .Close False End With Thank you in advance for your help! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Copy all worksheets to another workbook, excl. duplicate sheets already in other workbook | Excel Programming | |||
Create New Workbook and copy sheets from my Speadsheet | Excel Programming | |||
Create new workbook, temporarily name it and copy sheets to it | Excel Programming | |||
copy sheets in workbook to new workbook | Excel Programming | |||
create workbook, copy sheets | Excel Programming |