There are a lot of questions here to create a macro to save a worksheet as a CSV file. All the answers use the SaveAs, like this one from SuperUser. They basically say to create a VBA function like this:
Sub SaveAsCSV() ActiveWorkbook.SaveAs FileFormat:=clCSV, CreateBackup:=False End Sub
This is a great answer, but I want to do an export instead of Save As. When the SaveAs is executed it causes me two annoyances:
Is it possible to just export the current worksheet as a file, but to continue working in my original file?
You can convert an Excel worksheet to a text file by using the Save As command. Go to File > Save As. Click Browse. In the Save As dialog box, under Save as type box, choose the text file format for the worksheet; for example, click Text (Tab delimited) or CSV (Comma delimited).
@NathanClement was a bit faster. Yet, here is the complete code (slightly more elaborate):
Option Explicit Public Sub ExportWorksheetAndSaveAsCSV() Dim wbkExport As Workbook Dim shtToExport As Worksheet Set shtToExport = ThisWorkbook.Worksheets("Sheet1") 'Sheet to export as CSV Set wbkExport = Application.Workbooks.Add shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count) Application.DisplayAlerts = False 'Possibly overwrite without asking wbkExport.SaveAs Filename:="C:\tmp\test.csv", FileFormat:=xlCSV Application.DisplayAlerts = True wbkExport.Close SaveChanges:=False End Sub
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With