Trong Excel, chúng ta có thể chuyển đổi sổ làm việc thành tệp CSV bằng chức năng Lưu dưới dạng, nhưng bạn có biết cách chuyển đổi hàng loạt nhiều tệp Excel thành các tệp CSV riêng biệt không?
Chuyển đổi hàng loạt tệp Excel của một thư mục thành tệp CSV bằng VBA
Chuyển đổi các trang tính của sổ làm việc thành các tệp CSV riêng biệt bằng Kutools cho Excel
Chuyển đổi hàng loạt tệp Excel của một thư mục thành tệp CSV bằng VBA
Trong Excel không có hàm tích hợp nào có thể giải quyết công việc này nhanh chóng ngoại trừ VBA
1. Bật Excel và nhấn phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Applications
2. Nhấp vào Chèn > Mô-đun để tạo Mô-đun mới
3. Sao chép mã bên dưới và dán chúng vào cửa sổ Mô-đun mới
VBA. Chuyển đổi hàng loạt tệp Excel sang CSV
Sub WorkbooksSaveAsCsvToFolder[]
'UpdatebyExtendoffice20181031
Dim xObjWB As Workbook
Dim xObjWS As Worksheet
Dim xStrEFPath As String
Dim xStrEFFile As String
Dim xObjFD As FileDialog
Dim xObjSFD As FileDialog
Dim xStrSPath As String
Dim xStrCSVFName As String
Dim xS As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
On Error Resume Next
Set xObjFD = Application.FileDialog[msoFileDialogFolderPicker]
xObjFD.AllowMultiSelect = False
xObjFD.Title = "Kutools for Excel - Select a folder which contains Excel files"
If xObjFD.Show -1 Then Exit Sub
xStrEFPath = xObjFD.SelectedItems[1] & "\"
Set xObjSFD = Application.FileDialog[msoFileDialogFolderPicker]
xObjSFD.AllowMultiSelect = False
xObjSFD.Title = "Kutools for Excel - Select a folder to locate CSV files"
If xObjSFD.Show -1 Then Exit Sub
xStrSPath = xObjSFD.SelectedItems[1] & "\"
xStrEFFile = Dir[xStrEFPath & "*.xls*"]
Do While xStrEFFile ""
xS = xStrEFPath & xStrEFFile
Set xObjWB = Application.Workbooks.Open[xS]
xStrCSVFName = xStrSPath & Left[xStrEFFile, InStr[1, xStrEFFile, "."] - 1] & ".csv"
xObjWB.SaveAs Filename:=xStrCSVFName, FileFormat:=xlCSV
xObjWB.Close savechanges:=False
xStrEFFile = Dir
Loop
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
4. Nhấn phím F5, chọn thư mục chứa các tệp Excel bạn muốn chuyển đổi thành tệp CSV trong hộp thoại xuất hiện đầu tiên
5. Nhấp vào OK, sau đó trong hộp thoại bật lên thứ hai, hãy chọn thư mục để đặt các tệp CSV
6. Bấm OK, lúc này các file Excel trong thư mục đã được convert sang file CSV và lưu vào một thư mục khác
Chuyển đổi các trang tính của sổ làm việc thành các tệp CSV riêng biệt bằng Kutools cho Excel
Như chúng ta đã biết, chúng ta chỉ có thể chuyển đổi toàn bộ sổ làm việc thành một tệp CSV trong Excel bằng chức năng Lưu dưới dạng. Nhưng đôi khi, bạn muốn chuyển đổi một trang tính thành tệp CSV, trong trường hợp này, tiện ích Split Workbook của Kutools cho Excel có thể giúp bạn
Kutools cho Excel, với hơn 300 chức năng tiện dụng, giúp công việc của bạn dễ dàng hơn.
Tải xuống miễn phí
miễn phí đầy đủ tính năng trong 30 ngày
Sau khi cài đặt Kutools cho Excel, vui lòng thực hiện như bên dưới. (Tải xuống Kutools miễn phí cho Excel ngay bây giờ. ]
1. Bật sổ làm việc mà bạn muốn chuyển đổi các trang tính của nó thành các tệp CSV riêng biệt, nhấp vào Kutools Plus > Sổ làm việc > Tách Sổ làm việc
2. Trong hộp thoại Split Workbook, đánh dấu chọn vào tên sheet muốn tách [mặc định tất cả các sheet đều được đánh dấu], đánh dấu Save as type, chọn CSV [Macintosh] [*. CSV] từ danh sách thả xuống
3. Nhấp vào Tách để bật ra hộp thoại Duyệt tìm thư mục, chọn hoặc tạo thư mục để đặt các tệp CSV
4. Nhấp vào OK, bây giờ sổ làm việc đã được chia thành các tệp CSV riêng biệt
Tách sổ làm việc
Các công cụ năng suất văn phòng tốt nhất
Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn
- Tái sử dụng. Chèn nhanh các công thức, biểu đồ phức tạp và bất kỳ thứ gì bạn đã sử dụng trước đây; . Encrypt Cells with password; Create Mailing List and send emails...
- Thanh siêu công thức [dễ dàng chỉnh sửa nhiều dòng văn bản và công thức]; . Reading Layout [easily read and edit large numbers of cells]; Paste to Filtered Range...
- Hợp nhất Ô/Hàng/Cột mà không làm mất Dữ liệu; . Ngăn chặn các ô trùng lặp; . Combine Duplicate Rows/Columns.. Prevent Duplicate Cells; Compare Ranges...
- Chọn hàng trùng lặp hoặc duy nhất ; . Select Blank Rows [all cells are empty]; Super Find and Fuzzy Find in Many Workbooks; Random Select...
- Sao chép chính xác Nhiều ô mà không thay đổi tham chiếu công thức; . Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
- Trích xuất văn bản , Thêm văn bản, Xóa theo vị trí, Xóa khoảng trắng ; . Convert Between Cells Content and Comments...
- Siêu bộ lọc [lưu và áp dụng lược đồ bộ lọc cho các trang tính khác]; . Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
- Kết hợp Sổ làm việc và Trang tính ; . Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
- Hơn 300 tính năng mạnh mẽ . Hỗ trợ Office/Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.
Đọc thêm. Tải xuống miễn phí. Mua.
Tab Office Mang giao diện theo thẻ vào Office và giúp công việc của bạn dễ dàng hơn nhiều
- Bật chỉnh sửa và đọc theo tab 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 năng suất của bạn lên 50% và giảm hàng trăm lần nhấp chuột cho bạn mỗi ngày
Đọc thêm. Tải xuống miễn phí. Mua.
Cũ nhất đầu tiên
Sắp xếp nhận xét theo
Cũ nhất đầu tiên
mới nhất đầu tiên
Nhận xét [ 35 ]
Chưa có xếp hạng nào. Hãy là người đầu tiên xếp hạng
Aman
khoảng 3 năm trước
#27750
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ty nó thực sự hoạt động thân yêu
Hồi đáp
0
0
Sâm
khoảng 3 năm trước
#29422
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hoạt động tốt, cảm ơn vì mã.
Nhận xét duy nhất của tôi là mã này sẽ cắt tên tệp khi có ". " trong chính tên tệp [e. g. tập tin. 123. csv biến thành tệp. csv].
Hồi đáp
0
0
Carol Sam
khoảng 3 năm trước
#29423
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn đã tìm thấy một cách xung quanh vấn đề này?
Hồi đáp
0
0
Clara Carol
khoảng 3 năm trước
#29424
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Carol,
Ở dòng 33, tôi đã thay mã này.
xStrCSVFName = xStrSPath & Left[xStrEFFile, InStr[1, xStrEFFile, ". "] - 1] & ". csv"
Với mã này.
xStrCSVFName = xStrSPath & Left[xStrEFFile, InStr[1, xStrEFFile, ". xlsx"] - 1] & ". csv"
Lưu ý rằng nếu bạn đang sử dụng một số tiện ích mở rộng excel khác [. xl,. xlsm, v.v. ] bạn nên thay đổi nó như vậy. ]
Hồi đáp
0
0
Sonya Clara
khoảng 2 năm trước
#29425
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn nhiều. Điều này đã tiết kiệm cho tôi rất nhiều thời gian
Hồi đáp
0
0
Sâm
khoảng 3 năm trước
#29513
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Một nhận xét nhỏ khác.
Nếu tất cả các ô trong tệp Excel gốc đều được định dạng là "Chung", thì một số độ chính xác sẽ bị mất khi tệp được lưu dưới dạng CSV
Ví dụ: nếu . 123456789123456 thì giá trị trong CSV sẽ là 0. 123456789 [thiếu các số thập phân còn lại], miễn là ô được định dạng là 'Chung'. Điều này có thể được giải quyết bằng cách định dạng tất cả các ô trong tệp Excel thành bất kỳ ô nào khác ngoài 'Chung' [ví dụ: 'Văn bản']. Trong trường hợp đó, CSV *sẽ* vẫn có đầy đủ chi tiết/độ chính xác. Tôi. e. các giá trị trong tệp Excel sẽ hoàn toàn nguyên vẹn sau khi lưu dưới dạng CSV.
Làm thế nào mà macro này có thể thay đổi được, để nó đặt định dạng của tất cả các ô trong tệp Excel thành 'Văn bản', trước khi lưu dưới dạng CSV?
Tôi tưởng tượng .
Ô. Chọn
Lựa chọn. NumberFormat = "@"
Hồi đáp
0
0
Justin
khoảng 2 năm trước
#32170
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn đã chia sẻ. Tôi đang cố lưu nhiều tệp xls chứa một giá trị duy nhất, tạo ra lời nhắc hỏi có hoặc không trước khi lưu. Lời nhắc đọc.
"Một số tính năng trong sổ làm việc của bạn có thể bị mất nếu bạn lưu nó dưới dạng CSV [được phân cách bằng dấu phẩy]. Bạn có muốn tiếp tục sử dụng định dạng đó không?"
Ai đó biết nơi thêm mã để trả lời có cho lời nhắc này không?
Hồi đáp
0
0
Sen
khoảng 2 năm trước
#32222
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi nghĩ rằng đáng để thêm xử lý lỗi tốt hơn cho các tệp có ký tự đặc biệt, hiện tại chúng chỉ bị bỏ qua
Hồi đáp
0
0
chiên giòn
khoảng 1 năm trước
#35255
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
hàng đầu cảm ơn. ]
Hồi đáp
0
0
Jared
khoảng 1 năm trước
#35530
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thật đáng kinh ngạc. Cảm ơn bạn
Hồi đáp
0
0
TBenson85
khoảng 1 năm trước
#35820
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, có thay đổi nhanh nào đối với mã cho phép tôi thay đổi từ CSV UTF-8 [được phân cách bằng dấu phẩy] sang chỉ CSV [được phân cách bằng dấu phẩy] không? . Có lẽ có một quá trình dễ dàng hơn nhưng tôi không thể tìm thấy bất cứ điều gì. Tôi phải chuyển đổi khoảng 150 tệp được lưu ở định dạng này và tôi không muốn mở mọi tệp và Lưu dưới dạng nếu tôi có thể tránh được. Bất kỳ trợ giúp được đánh giá cao
Hồi đáp
Bài báo cáo
0
0
TBenson85 TBenson85
khoảng 1 năm trước
#35821
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Vì vậy, sau khi xem xét mã kỹ hơn một chút, tôi đã thấy loại tệp ban đầu phải ở đâu. xls. Vì vậy, thay thế bằng. csv đã giải quyết vấn đề
Hồi đáp
Bài báo cáo
0
0
KonV
khoảng 1 năm trước
#36338
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào,
das Makro funktioniert ganz gut, aber bei mir kommt, wenn ich als tên tệp. xlCSVUTF8 eine anders formatierte CSV raus als ich über speichern unter -> csv[utf8] erreiche.
Hồi đáp
Bài báo cáo
0
0
Mehdi KonV
khoảng 1 năm trước
#36339
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
xObjWB. Lưu dưới dạng tên tệp. =xStrCSVFName, Định dạng tệp. =xlCSVUTF8
Hồi đáp
0
0
KonV
khoảng 1 năm trước
#36340
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
also er schreibt die verschiedenen Spalten alle in eine Spalte, dass müsste der Fehler sein ?
Hồi đáp
Bài báo cáo
0
0
Sâm
khoảng 10 tháng trước
#37497
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào. trong một số tệp excel sẽ được chuyển đổi sang csv, có một danh nghĩa phải được làm tròn, giải pháp là gì?
Hồi đáp
0
0
Nắng Sam
khoảng 10 tháng trước
#37498
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Sam, không có giải pháp nào để giải quyết vấn đề này ngoại trừ định dạng dữ liệu dưới dạng văn bản trước khi chuyển đổi tệp sang csv
Hồi đáp
Bài báo cáo
0
0
Henry
khoảng 8 tháng trước
#37907
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Khi tôi chạy nó, nó chỉ chuyển đổi trang tính đầu tiên và bỏ qua các trang bổ sung trong sổ làm việc. Có cách nào để chỉnh sửa mã để bao gồm các trang tính bổ sung không?
Hồi đáp
0
0
Nắng Henry
khoảng 7 tháng trước
#38013
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, bạn có thể thử đoạn mã bên dưới, nó sẽ lưu tất cả các trang tính của sổ làm việc trong thư mục vào csv một cách riêng biệt. Nó không thể làm việc sổ làm việc hiện tại.
______1
Hồi đáp
Bài báo cáo
0
0
Prashant Sunny
khoảng 1 tuần trước
#42262
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Sunny
Với bất kỳ sửa đổi nào trong cùng một mã, tôi chỉ có thể trích xuất một trang tính có cùng tên trang tính trong tất cả các tệp?
Hồi đáp
0
0
Nắng Prashant
khoảng 3 ngày trước
#42397
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Prashant, tôi không hiểu rõ câu hỏi của bạn. Hãy để tôi đoán. Nếu có 2 workbook tên là book1 và book2, cả 2 đều chứa sheet tên là sheet1, bạn chỉ muốn lấy 1 sheet [sheet1] từ 2 workbook này, còn sheet1 không cần trích xuất?
Hồi đáp
Bài báo cáo
0
0
Eric
khoảng 8 tháng trước
#37915
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Không thể làm cho nó hoạt động với các tệp xls của tôi. Chúng là các trang tính 97-03 và tôi hiện đang chạy phiên bản microsoft 365 tích cực nhất. Khi tôi chạy mã, thư mục xuất hiện ở dạng trống
Hồi đáp
0
0
Nắng Eric
khoảng 7 tháng trước
#38014
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi xin lỗi vì sự cố của bạn không xuất hiện lại trong phiên bản của tôi, tôi không biết giúp bạn
Hồi đáp
Bài báo cáo
0
0
Bác sĩ SJ
khoảng 7 tháng trước
#38247
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cùng một vấn đề với tôi. Chạy office 365 mới nhất nhưng không có gì xảy ra sau khi đặt hộp thoại hai thư mục
Hồi đáp
0
0
Nắng Bác sĩ SJ
khoảng 7 tháng trước
#38437
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Doc SJ, cảm ơn lời nhắc của bạn, tôi đã kiểm tra mã VBA, nó có một số vấn đề trong Office 365, hiện tôi đã cập nhật VBA, vui lòng thử lại
Hồi đáp
Bài báo cáo
0
0
rodrigo
khoảng 7 tháng trước
#38425
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bom Dia.
muito top esse codigo, porem estou com o problema abaixo
Tem como salvar em format "CSV [separado por vírgulas] [*. csv]", pois ao executar esse código meus arquivos ficam com "," no format que eu preciso eles không ficam com essa vírgula
Hồi đáp
0
0
YOY
khoảng 6 tháng trước
#38848
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
2019버전입니다.
게시글 그대로 실행해봤지만 아무것도 일어나지 않았습니다.
Hồi đáp
0
0
Nắng YOY
khoảng 6 tháng trước
#38874
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, YOY, Tôi đã thử nghiệm VBA trong Professional Plus Excel 2019, nó hoạt động trơn tru và chính xác. Bạn có thể cho tôi biết thêm chi tiết về các tệp của bạn, chẳng hạn như bản án chi tiết, nội dung của các tệp bạn muốn chuyển đổi?