Метод от vembutech - определенно более отточенное решение. Вот легкий макрос VBA, который экспортирует все листы из одной рабочей книги.
Переходит в папку с активными рабочими книгами. Все имена - это имя workbookname_sheetname.csv
Sub exportcsv()
Dim ws As Worksheet
Dim path As String
path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Activate
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
Next
End Sub
РЕДАКТИРОВАТЬ:
Для комментария. Оригинальный макрос просто использует функцию сохранения как (что-то вроде закрытия оригинала). Если вы хотите сделать это, оставив оригинал открытым, вам необходимо скопировать его в новую книгу, сохранить, закрыть новую книгу.
Sub exportcsv()
Dim ws As Worksheet
Dim path As String
path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
End Sub