Bỏ qua nội dung chính

Làm cách nào để lưu, xuất nhiều / tất cả các trang tính thành tệp csv hoặc tệp văn bản riêng biệt trong Excel?

Khi sử dụng Excel, bạn có thể lưu trang tính theo cách thủ công dưới dạng tệp csv hoặc tệp văn bản bằng cách sử dụng chức năng Lưu dưới dạng. Tuy nhiên, để chuyển đổi nhiều hoặc tất cả các trang tính trong sổ làm việc thành tệp csv hoặc tệp văn bản được phân tách, bạn có thể làm như thế nào? Trong bài viết này, chúng tôi sẽ chỉ cho bạn các phương pháp để lưu hoặc chuyển đổi nhiều hoặc tất cả các trang tính thành tệp csv hoặc tệp văn bản riêng biệt.

Lưu, xuất hoặc chuyển đổi tất cả các trang tính thành tệp csv hoặc tệp văn bản với mã VBA
Lưu, xuất hoặc chuyển đổi nhiều / tất cả các trang tính sang tệp csv hoặc tệp văn bản với Kutools cho Excel


Lưu, xuất hoặc chuyển đổi tất cả các trang tính thành tệp csv hoặc tệp văn bản với mã VBA

Với các mã VBA dưới đây, bạn có thể lưu tất cả các trang tính trong sổ làm việc thành các tệp csv hoặc tệp văn bản riêng biệt. Hãy làm như sau.

Xuất hoặc chuyển đổi tất cả các trang tính thành tệp csv

1. nhấn Khác + F11 các phím đồng thời để mở Ứng dụng Microsoft Visual Basic cửa sổ.

2. bên trong Ứng dụng Microsoft Visual Basic cửa sổ, nhấp Chèn > Mô-đun. Sau đó sao chép và dán mã sau vào Mô-đun cửa sổ.

Mã VBA: Xuất tất cả các trang tính sang các tệp csv riêng biệt

Sub ExportSheetsToCSV()
	Dim xWs As Worksheet
	Dim xcsvFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xcsvFile = CurDir & "\" & xWs.Name & ".csv"
		Application.ActiveWorkbook.SaveAs Filename: = xcsvFile, _
		FileFormat: = xlCSV, CreateBackup: = False
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

3. Nhấn nút F5 phím để chạy mã. Bạn sẽ thấy tất cả các tệp csv đã xuất đều nằm trên Tài liệu thư mục. Xem ảnh chụp màn hình:

Xuất hoặc chuyển đổi tất cả các trang tính thành tệp Văn bản

Đoạn mã sau có thể giúp bạn xuất hoặc chuyển đổi tất cả các trang tính trong sổ làm việc thành các tệp Văn bản được phân tách.

Mã VBA: Xuất tất cả các trang tính sang các tệp Văn bản được phân tách

Sub ExportSheetsToText()
	Dim xWs As Worksheet
	Dim xTextFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xTextFile = CurDir & "\" & xWs.Name & ".txt"
		Application.ActiveWorkbook.SaveAs Filename: = xTextFile, FileFormat: = xlText
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

Các tệp Văn bản đã xuất cũng nằm trên Tài liệu thư mục. Xem ảnh chụp màn hình:


Lưu, xuất hoặc chuyển đổi nhiều / tất cả các trang tính sang tệp csv hoặc tệp văn bản với Kutools cho Excel

You có thể nhanh chóng xuất hoặc chuyển đổi nhiều hoặc tất cả các trang tính sang các tệp csv riêng lẻ, tệp văn bản hoặc định dạng tệp xls trong Excel với Chia sổ làm việc tiện ích của Kutools cho Excel.

Trước khi áp dụng Kutools cho Excel, Xin vui lòng tải xuống và cài đặt nó trước tiên.

1. nhấp chuột Kutools Plus > Bảng tính > Chia sổ làm việc. Xem ảnh chụp màn hình:

2. bên trong Chia sổ làm việc hộp thoại:

  • 1). Nếu bạn muốn chuyển đổi tất cả các trang tính thành tệp csv hoặc tệp văn bản, chỉ cần chọn tất cả các tên trang tính trong Tên trang tính cái hộp; Nếu bạn chỉ muốn chuyển đổi nhiều trang tính, hãy tiếp tục kiểm tra chúng và bỏ chọn các trang tính khác mà bạn không muốn chuyển đổi.
  • 2). bên trong Các lựa chọn phần, kiểm tra Save as type hộp và sau đó chọn Văn bản Unicode (*. Txt) or CSV (Macintosh) (*. Csv) từ danh sách thả xuống.
  • 3). Nhấn vào chẻ .

3. bên trong Chọn thư mục hộp thoại, chỉ định một thư mục để lưu các tệp đã xuất, sau đó bấm vào OK .

Bây giờ tất cả các trang tính hoặc các trang tính được chỉ định đều được chuyển đổi thành tệp csv hoặc tệp văn bản được phân tách và định vị trên thư mục như bạn đã chỉ định ở trên.

  Nếu bạn muốn dùng thử miễn phí (30 ngày) tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.


Lưu, xuất hoặc chuyển đổi nhiều / tất cả các trang tính sang tệp csv hoặc tệp văn bản với Kutools cho Excel

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (38)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, thanks for the VBA, i have a problem with the VBA for export to text file, as the VBA run the txt file got generated, but the inside data is not exactly like the excel data, for example my data include character quotation mark, and the exported data became double quotation mark, plus the beginning and the ending of the text file there are quotation mark, here's the excel and the txt file that i meant :
excel : Start Chrome https://xxx/tap_inbox_sparepart_act.asp?proses_id=202300102027800&act=akseptoraksep"&"alasan=ok
text file : "Start Chrome https://xxx/tap_inbox_sparepart_act.asp?proses_id=202300102027800&act=akseptoraksep""&""alasan=ok"

Thanks in advanced :)
This comment was minimized by the moderator on the site
Hi Nicky,

I tested this code, but could not reproduce the problem in my case. And the file you provided didn't open. Can you upload your file using the "upload attachment" link below?
This comment was minimized by the moderator on the site
The VBA code works nicely. Equivalent C# code in a VSTO workbook project emits empty .csv files.


void SaveSomeWorksheetsAsCsvFiles() {
    string[] worksheetNames = new[] { "Sheet1", "Sheet2", "Sheet3" };
    foreach (var worksheet in worksheetNames.Select(_ => Globals.ThisWorkbook.Sheets[_] as Excel.Worksheet)) {
        worksheet.Copy();
        string fullName = @"C:\Users\....\Staging" + $".{worksheet.Name}.csv";
        this.SaveAs(fullName, XlFileFormat.xlCSV);
        Application.ActiveWorkbook.Saved = true;
        Application.ActiveWorkbook.Close();
    }
}
This comment was minimized by the moderator on the site
Hi Calvin,
We do not support programming languages other than VBA. Sorry for the inconvenience.
This comment was minimized by the moderator on the site
Hi, thanks for the great code (Export all sheets to separated Text files), using it a lot. Just ran into a workbook where it won't work, debugger says line xWs.Copy is problem, popup says method copy of a workbook failed. Is there any restrictions concerning a worksheet name or something similar, like no merged cells etc..?

Thanks for a reply :)
This comment was minimized by the moderator on the site
HI BI,
Does your worksheet contain a pivot table? Can you provide us with your data for tesing? If you don't mind, upload your sample file here.
This comment was minimized by the moderator on the site
Hi, thanks for the great code it is awesome(Export all sheets to separated Text files)! Used it on many occasions but ran into a file where it won't work, debugger says runtime error 1004 and that method copy of a worksheet failed and marks line xWs.Copy. Is there any rule concerning a worksheet name that would not allow code to run?
This comment was minimized by the moderator on the site
Thanks! I used this to save all the sheets of my .xlsx file into differents .xlsx
Sub ExportSheetsToXLSX()
Dim xWs As Worksheet
Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xlsxFile = CurDir & "\" & xWs.Name & ".xlsx"
Application.ActiveWorkbook.SaveAs Filename:=xlsxFile, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
End Sub
This comment was minimized by the moderator on the site
how would I change the code to have it save in a different file format such as an xlsx? or ASCII.
This comment was minimized by the moderator on the site
So, this is great! BUT, what if I need to split a workbook into .csv but for PC, not MAC? If anyone has a way of doing it, please help me out. I will be very grateful.
This comment was minimized by the moderator on the site
Hi,
The first VBA code in this post can do you a favor.
This comment was minimized by the moderator on the site
Is there a way to use this code to export only a certain range to a .csv file of each sheet in a book?
This comment was minimized by the moderator on the site
Hi,
The VBA code in this article may do you a favor: https://www.extendoffice.com/documents/excel/2897-excel-export-range-to-csv.html
This comment was minimized by the moderator on the site
Hello,
thank you so much for a great macro, it works like a charm! But I have a question, what if I would like to save this macro (CSV version) on PERSONAL.xlsb as to make it available on any excel instance?

When I try, CurDir takes the PERSONAL directory, instead of the active worksheet one...

Thank you for any help!
This comment was minimized by the moderator on the site
Hi Mirko,
Method in this article can do you a favor: https://trumpexcel.com/personal-macro-workbook/.
This comment was minimized by the moderator on the site
If you just want to convert multiple sheets, keep checking them and going to uncheck other sheets you don’t want to convert
sir for thuis step do you have macro
This comment was minimized by the moderator on the site
Good day,
Can't help with VBA code for this. Why not try the Split Workbook utility we provide in the post? It will save your time and you will love it.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations