Метод 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
Run-time error '1004': Application-defined or object-defined error
на свій Excel для Mac.