Khi làm việc với các file Excel, chúng ta thường gặp tình huống có nhiều file CSV riêng lẻ. Việc gộp chúng vào một workbook duy nhất với nhiều sheet là nhu cầu phổ biến. Bài viết này sẽ hướng dẫn bạn từng bước để gộp các file CSV thành nhiều sheet trong Excel.
Bạn có thể tải miễn phí các file CSV mẫu và file Excel đã gộp tại đây!
File CSV nguồn:
File đã gộp:
Các Bước Gộp File CSV Thành Nhiều Sheet Excel
Giả sử bạn có ba workbook Excel riêng biệt cho bảng điểm lớp 6, 7, 8 của nhiều môn học và học sinh. Các file ở định dạng CSV chứa tên học sinh, môn học và điểm số. Bây giờ bạn muốn gộp tất cả vào một workbook với nhiều sheet. Hãy làm theo hướng dẫn chi tiết dưới đây.

📌 Bước 1: Chuẩn Bị Module Cho VBA
Trước tiên, bạn cần chèn và chuẩn bị một module để chạy mã VBA.
- Vào tab Developer >> chọn Visual Basic.

- Cửa sổ VB Editor sẽ hiện ra.
- Chọn tab Insert >> Module.

Bây giờ bạn đã có module để dán mã VBA.
Xem thêm: Excel VBA: Đọc File CSV Vào Mảng (4 Ví Dụ Hay)
📌 Bước 2: Viết Và Lưu Mã VBA
Tiếp theo, dán mã VBA vào module vừa tạo.
- Click vào Module 1.
- Dán mã sau vào cửa sổ code của Module 1.
Sub MergeCSVFiles() Dim openFiles As Variant Dim I As Integer Dim wb As Workbook Dim mergedWb As Workbook Dim delimiter As String Dim screen As Boolean On Error GoTo ErrHandler screen = Application.ScreenUpdating Application.ScreenUpdating = False delimiter = ";" openFiles = Application.GetOpenFilename("CSV Files (*.csv), *.csv", , "Merge CSV Files", , True) If TypeName(openFiles) = "Boolean" Then MsgBox "No files were selected", , "Merge CSV Files" GoTo ExitHandler End If I = 1 Set mergedWb = Workbooks.Open(openFiles(I)) mergedWb.Sheets(1).Copy Set wb = Application.ActiveWorkbook mergedWb.Close False Do While I < UBound(openFiles) I = I + 1 Set mergedWb = Workbooks.Open(openFiles(I)) mergedWb.Sheets(1).Move , wb.Sheets(wb.Sheets.Count) Loop ExitHandler: Application.ScreenUpdating = screen Set wb = Nothing Set mergedWb = Nothing Exit Sub ErrHandler: MsgBox Err.Description, , "Merge CSV Files" Resume ExitHandler End Sub
- Nhấn Ctrl + S để lưu mã.

- Hộp thoại Microsoft Excel xuất hiện, click No.

- Cửa sổ Save As hiện ra, chọn định dạng .xlsm và nhấn Save.

Mã VBA đã được lưu thành công.
Xem thêm: Excel VBA: Đọc File CSV Theo Dòng (3 Ví Dụ Hay)
Bài Viết Liên Quan
- Cách Nhập File Text Vào Excel Bằng VBA (3 Cách Dễ Dàng)
- Mở Notepad Hoặc File Text Trong Excel Với Cột (3 Phương Pháp Dễ Dàng)
- Excel VBA: Đọc File Text Vào Chuỗi (4 Trường Hợp Hiệu Quả)
- Chuyển Đổi CSV Sang XLSX (4 Phương Pháp Nhanh)
- Đọc File CSV Trong Excel (4 Cách Nhanh Nhất)
📌 Bước 3: Chạy Code Để Gộp File CSV
Cuối cùng, chạy macro để gộp các file CSV thành nhiều sheet.
- Vào tab Developer >> Macros.

- Chọn macro MergeCSVFiles và nhấn Run.

- Tất cả workbook sẽ được gộp vào một workbook mới với các sheet riêng biệt.

- Để lưu file, vào tab File >> Save As >> Browse, đặt tên và lưu.




Kết quả: Các file CSV đã được gộp thành nhiều sheet trong một workbook.

Xem thêm: Nhập CSV Vào Sheet Có Sẵn Trong Excel (5 Phương Pháp)
Sử Dụng Power Query Để Gộp CSV Thành Một Sheet
Nếu muốn gộp tất cả CSV thành một sheet duy nhất, hãy dùng Power Query.
📌 Các Bước:
- Tab Data >> Get Data >> From File >> From Folder.

- Chọn thư mục chứa file CSV >> Open.

- Cửa sổ Power Query hiện ra, click Combine >> Combine & Transform Data.

- Chọn Delimiter là Semicolon (hoặc phù hợp dữ liệu) >> OK.

- Dữ liệu đã gộp hiện ra trong Power Query.

- Tab File >> Close & Load >> Close & Load.

Kết quả: Tất cả file CSV gộp thành một sheet.

Xem thêm: Mở CSV Với Dấu Phân Cách Trong Excel (6 Cách Đơn Giản)
💬 Lưu Ý Quan Trọng
- Giữ nguyên dấu phân cách (delimiter) nhất quán cho mọi file và dữ liệu.
- Tất cả file CSV phải có cùng cấu trúc (cùng hàng, cột, định dạng).
Kết Luận
Bài viết đã trình bày đầy đủ các bước gộp file CSV thành nhiều sheet trong Excel. Hãy đọc kỹ và thực hành. Nếu có thắc mắc, hãy để lại bình luận. Ghé thăm ExcelDemy để học thêm nhiều mẹo Excel hữu ích. Cảm ơn bạn!
Các Bài Viết Liên Quan
- Xem File CSV Trong Excel (3 Phương Pháp Hiệu Quả)
- Khác Biệt Giữa CSV Và Excel (11 Ví Dụ Minh Hoạ)
- Tự Động Chuyển CSV Sang Excel Với Các Bước Dễ Dàng
- [Đã Giải Quyết:] Excel Mở CSV Ở Một Cột (3 Giải Pháp)
- Chuyển CSV Sang XLSX Bằng Dòng Lệnh (Các Bước Dễ Dàng)
- Excel VBA: Đọc File Text Theo Dòng (6 Ví Dụ Liên Quan)