Metode oleh vembutech jelas merupakan solusi yang lebih halus. Berikut ini adalah makro VBA ringan yang akan mengekspor semua lembar dari satu buku kerja.
Masuk ke folder buku kerja aktif semua nama 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
EDIT:
Untuk komentarnya. Makro asli hanya menggunakan fungsi save as (yang seperti menutup yang asli). Jika Anda ingin melakukan ini sambil membiarkan yang asli terbuka, Anda harus menyalin ke buku kerja baru, simpan, tutup buku kerja yang baru.
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
menggunakan Excel untuk Mac.