Macro to Save As with custom file name

  • Thread starter Thread starter hailnorm
  • Start date Start date
H

hailnorm

I have various templates varing in the number of worksheets. There i
one worksheet called "IMPORT2004" that's common in all the files.

I need a macro that saves just this specific worksheet as a CSV fil
into a share drive called "M:/2004/Import". And that CSV file needs t
have a custom name. The name of the template is always in cell A2 &
reference number is always in cell A5 of the "IMPORT2004" tab. Eac
month, the reference number changes with the data.

So if the template was called "Template One" & the ref# was "12345"
the CSV file should be named "Template One 12345". The name of the fil
found in A2 is also what the file is saved as.

If this "custom naming" can't be done this way, is there a way t
generate some sort of unique identifier that distinguishes one templat
from an other & also one version from an other?

Thanks in advanc
 
Sub SaveSheet()
worksheets("Import2004").Copy
ActiveWorkbook.SaveAs Filename = "M:\2004\Import\" & _
Activesheet.Range("A2").Value & Range("A5").Value & _
".cvs", FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
End Sub
 
Thanks Tom. But the following script always produces a file name
"FALSE.csv". Also, shouldn't---

Activesheet.Range("A2").Value & Range("A5").Value & _
".cvs"[/B}, FileFormat:=xlCSV

be ... Value & _".csv"[/B}, FileFormat:=xlCSV

The file still saves as "FALSE.csv" if I make the change. Is ther
something that's missing???


Tom said:
Sub SaveSheet()
worksheets("Import2004").Copy
ActiveWorkbook.SaveAs Filename = "M:\2004\Import\" & _
Activesheet.Range("A2").Value & Range("A5").Value & _
".cvs", FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
End Su
 
what are all those 's ??
Tom didn't have them

Tom Ogilvy wrote:
Sub SaveSheet()
worksheets("Import2004").Copy
ActiveWorkbook.SaveAs Filename = "M:\2004\Import\" &
Activesheet.Range("A2").Value & Range("A5").Value & ".cvs",
FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
End Sub
--
Patrick Molloy
Microsoft Excel MVP
---------------------------------
hailnorm > said:
Thanks Tom. But the following script always produces a file named
"FALSE.csv". Also, shouldn't---

Activesheet.Range("A2").Value & Range("A5").Value & _
".cvs"[/B}, FileFormat:=xlCSV

be ... Value & _".csv"[/B}, FileFormat:=xlCSV

The file still saves as "FALSE.csv" if I make the change. Is there
something that's missing???


Tom said:
Sub SaveSheet()
worksheets("Import2004").Copy
ActiveWorkbook.SaveAs Filename = "M:\2004\Import\" & _
Activesheet.Range("A2").Value & Range("A5").Value & _
".cvs", FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
End Sub

 
I was just trying to bold it in the post. It's not included in th
macro.

The script creates a csv file called "FALSE" in the M:\2004 instead o
the M:\2004\Import\. Is there something that I'm missing??? Th
"Import2004" worksheet is formatted as text or number.


Patrick said:
*what are all those 's ??
Tom didn't have them

Tom Ogilvy wrote:
Sub SaveSheet()
worksheets("Import2004").Copy
ActiveWorkbook.SaveAs Filename = "M:\2004\Import\" &
Activesheet.Range("A2").Value & Range("A5").Value & ".cvs",
FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
End Sub
--
Patrick Molloy
Microsoft Excel MVP
---------------------------------
message
Thanks Tom. But the following script always produces a file named
"FALSE.csv". Also, shouldn't---

Activesheet.Range("A2").Value & Range("A5").Value & _
".cvs"[/B}, FileFormat:=xlCSV

be ... Value & _".csv"[/B}, FileFormat:=xlCSV

The file still saves as "FALSE.csv" if I make the change. Is there
something that's missing???


Tom said:
Sub SaveSheet()
worksheets("Import2004").Copy
ActiveWorkbook.SaveAs Filename = "M:\2004\Import\" & _
Activesheet.Range("A2").Value & Range("A5").Value & _
".cvs", FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
End Sub

 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top