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