Home |
Search |
Today's Posts |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Jim;
For a Dutchmen, it looked a little complicated, but in general, this is what I usually do an what you could try. Build a string based on the contents of cells A4 and K10 in worksheet "Calc" in workbook "Main.xls". It seems to me that you do so. I usually call the string fName . Delete the worksheets you don't need from the workbook your working on. You could do so with Worksheets(1).delete where 1 is the index number for the first worksheet. You could also try Worksheets("Name").delete Use DisplayAlerts; This prevents you from having to answer dialogs about deleting sheets. It will look a little like this: Application.DisplayAlerts = False Worksheets(1).delete Worksheets("Name").delete Application.DisplayAlerts = True Save the rest of what is left with the new filename eg the string you build. ThisWorkbook.SaveAs Filename:=fName Now the old workbook isn't modified, but a new workbook is saved with the name you specified and the sheets you need. I hope I understood what you wrote and hope you'll find a solution in what I described. PS: Don't forget to create a back-up workbook. Testing is essential in al circumstances !! -- -- Regards; Mark Rosenkrantz -- Spreadsheet Solutions Uithoorn Netherlands (Those who live some 18 feet below sea level) -- E: W: www.spreadsheetsolutions.nl -- "bigjim" wrote in message ... I want to save three worksheets in my main workbook to a new workbook to be named from variables in "Main.xls". For Example: I have 3 worksheets in "main.xls" called "ticket", "Job Report", and "W-15". I need to create a new workbook named from the contents of cells A4 and K10 in worksheet "Calc" in workbook "Main.xls" and then save copies of "ticket", "job report" and "w-15" in this new workbook. So, if cell a4 had "AS011" in it and K10 had "Liberty" in it, the new file would be named "As011Liberty.xls" and contain three sheets named "ticket", "Job Report", and "W-15". I am working in Excell 2003 and this is what I have so far, but I can't seem to get it to work: Dim strappend As String Dim strpath As String Dim str3 As String Dim str4 As String strappend = ActiveSheet.Range("a4") strpath = "c:\field tickets\" str3 = ActiveSheet.Range("k10") fsavename = strpath & strappend & str3 & ".xls" If Dir(fsavename) < "" Then fsavename = strpath & strappend & str3 & "a.xls" End If If Dir(fsavename) < "" Then fsavename = strpath & strappend & str3 & "b.xls" End If If Dir(fsavename) < "" Then fsavename = strpath & strappend & str3 & "c.xls" End If ActiveWorkbook.Sheets("Ticket").SaveAs fsavename ActiveWorkbook.Close False ActiveWorkbook.Sheets("Job Report").Select Sheets("Job Report").Copy befo=Workbooks("fsname").Sheets("Ticket") ActiveWorkbook.Sheets("W-15").Select Sheets("W-15").Copy befo=Workbooks("fsname").Sheets("Job Report") I would appreciate any help I could get. Thanks, Jim |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
saving 3 worksheets in a workbook to a separte workbook | Excel Programming | |||
Color Changes When Saving 2007 Workbook as 97 - 2003 Workbook | Excel Discussion (Misc queries) | |||
Saving a Workbook where the worksheets are protected | Excel Worksheet Functions | |||
Saving a sheet in a workbook as .csv but not changing workbook name | Excel Programming | |||
Saving a Workbook: Forcing User to Rename before Saving | Excel Programming |