i am trying to export a sheet from my Excel file as a csv.
I am getting the error
Method SaveAs of Object Workbook Failed`
on my SaveAs line.
I notice as this code creates a new workbook, it has several blank default sheet tabs, would this be causing the issue?
Public Sub ExportWorksheetAndSaveAsCSV() Dim wbkExport As Workbook Dim shtToExport As Worksheet Set shtToExport = ThisWorkbook.Worksheets("Load check data") '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 Path = ThisWorkbook.Sheets("Input").Range("B15") & "estload_" & ThisWorkbook.Sheets("Input").Range("F1") & ".csv" Debug.Print Path wbkExport.SaveAs Filename:=Path, FileFormat:=xlCSV, CreateBackup:=True Application.DisplayAlerts = True wbkExport.Close SaveChanges:=False End Sub Edit to exclude WbkExport variable, replace with ThisWorkbook and ActiveWorkbook.
Public Sub ExportWorksheetAndSaveAsCSV() Dim wbkExport As Workbook Dim shtToExport As Worksheet Dim Path As String Set shtToExport = ThisWorkbook.Worksheets("Load check data") 'Sheet to export as CSV 'Set wbkExport = Application.Workbooks.Add shtToExport.Copy Before:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count) Application.DisplayAlerts = False 'Possibly overwrite without asking Path = ThisWorkbook.Sheets("Input").Range("B15") & "estload_" & ThisWorkbook.Sheets("Input").Range("F1") & ".csv" Debug.Print Path ActiveSheet.SaveAs Filename:=Path, FileFormat:=xlCSV, CreateBackup:=True Application.DisplayAlerts = True 'wbkExport.Close SaveChanges:=False
shtToExport.Copywith no parameters will create a new workbook, which will then be theActiveWorkbook.Set wbkExport = Application.Workbooks.Addand just doshtToExport.Copy, and then work withActiveWorkbook.application-defined or object defined error. I updated the code above if you want to take a look.shtToExport.Copy. NoBefore. ThenActiveWorkbook.SaveAs.