Copy worksheet and save to desktop as a csv file

Daddylouc

New Member
Joined
Nov 28, 2012
Messages
9
I have this code to copy an existing worksheet to my desktop as an xlsx file but I need to save it as a csv file. I tried just changing the named extension but that didn't work. How would I modify this code to save the file as a csv?

Sub Expo()


Application.ScreenUpdating = False


'Get path for desktop of user PC
Path = Environ("USERPROFILE") & "\Desktop"
Sheet1.Cells.Copy


'Create new workbook and past copied data in new workbook & save to desktop
Workbooks.Add (xlWBATWorksheet)
ActiveWorkbook.ActiveSheet.Paste
ActiveWorkbook.ActiveSheet.Name = "report"
ActiveWorkbook.SaveAs Filename:=Path & "" & "report " & Format(CStr(Now()), "dd-mmm (hh.mm.ss AM/PM)") & ".xlsx"
ActiveWorkbook.Close SaveChanges:=True


Application.ScreenUpdating = True


MsgBox "Exported to Desktop"


End Sub
 

Trevor G

Well-known Member
Joined
Jul 17, 2008
Messages
6,362
I think you need to add in the file format as well. See basic example below of recorded macro to save workbook as csv.

Sub Macro1()
ChDir "C:\Desktop"
ActiveWorkbook.SaveAs Filename:="C:\Desktop\rubbish.csv", _
FileFormat:=xlCSV, CreateBackup:=False
End Sub
 

Joe4

MrExcel MVP, Junior Admin
Joined
Aug 1, 2002
Messages
51,177
Office Version
365
Platform
Windows
It is more than just changing the file extension (that is just a name). You also have to change the file type. Otherwise, it will still save as an Excel file.
So you need to add the FileFormat argument to your SaveAs function, i.e.
Code:
[COLOR=#333333]ActiveWorkbook.SaveAs Filename:=Path & "\" & "report " & Format(CStr(Now()), "dd-mmm (hh.mm.ss AM/PM)") & [/COLOR][COLOR=#ff0000]".csv", FileFormat:=xlCSV[/COLOR]
 

Forum statistics

Threads
1,078,462
Messages
5,340,456
Members
399,376
Latest member
Tresfjording

Some videos you may like

This Week's Hot Topics

  • Problem with Radio Button's format control
    I am creating an employee evaluation template (a sample is below) Column A is the category Column B, C D, E and F will be ratings (unacceptable...
  • Last Display on userform to a Listbox
    [CODE=vba] lstdisplay.ColumnCount = 15 lstdisplay.RowSource = "A1:O600000" [/CODE] So when i do this it Displays everything on the sheet i am...
  • Rename and move files to a new location
    Dear all, I have an excel file with the following information. The actual file name is at column A but i want to rename it using the following...
  • Help with True/False Formula
    Hello! Am stumped how to fix this formula, in which my result returns 'True', but it should return False. =IF(AG2=True...
  • Clear extra characters from a provided range of cells
    Dear All, I have following code which gives me desired output to remove extra characters from a provided range. But it takes too much time when...
  • Help with Current and highest streaks
    Hi there, I've just joined the forum and this is my first post. I've already spent quite a bit of time searching the net and this forum for a...
Top