วิธีการโดย 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