Hướng dẫn chi tiết cách hợp nhất nhiều file Excel thành một file duy nhất
Bài viết này cung cấp hướng dẫn từng bước để kết hợp nhiều file Excel vào một file đơn giản và hiệu quả.
Dưới đây là ví dụ minh họa với hai file dữ liệu cụ thể:
File đầu tiên có tên DS_1 với nội dung như sau:
File thứ hai có tên DS_2 với nội dung chi tiết như sau:
Để tổng hợp dữ liệu từ hai file trên thành một file duy nhất có tên Book1 (với các bản ghi được hiển thị trên cùng một Sheet), bạn có thể thực hiện theo các bước sau:
Bước 1: Tạo một file Excel mới với tên Book1 -> nhấn tổ hợp phím Alt + F11 -> khi cửa sổ hiện ra, chọn thẻ Insert -> Module.
Bước 2: Sao chép toàn bộ đoạn mã sau vào Module 1.
Sub GopFileExcel() Dim FilesToOpen Dim x As Integer On Error GoTo ErrHandler Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx", MultiSelect:=True, Title:="Files to Merge") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "Không có tệp nào được chọn" GoTo ExitHandler End If x = 1 While x <= UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) x = x + 1 Wend ExitHandler: Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub
Bước 3: Lưu Module 1 với tên GopFileExcel (). Vì Module chứa Macro, khi lưu sẽ có cảnh báo, bạn hãy nhấn chọn OK.
Bước 4: Tạo thêm một Module mới bằng cách chọn Insert -> Module.
Bước 5: Sao chép toàn bộ đoạn mã sau vào Module 2 -> lưu lại với tên GopCacSheet ().
Sub GopCacSheet() Dim Sh As Worksheet Application.ScreenUpdating = False [A6].CurrentRegion.Offset(1, 1).ClearContents For Each Sh In Worksheets If Sh.Name <> "Gop_File" Then With [B65500].End(xlUp).Offset(1) [A6].CurrentRegion.Offset(1, 1). Destination:=.Offset(0) End With End If Next Sh Application.ScreenUpdating = True Columns("E:E").Hidden = False: Randomize [A5].Resize(, 6).Interior.ColorIndex = 34 + 9 * Rnd() \ 1 End Sub
Bước 6: Quay lại file Excel vừa tạo -> Chọn thẻ View -> View Macro.
Bước 7: Khi hộp thoại macro xuất hiện -> chọn Module 1 (tên GopFileExcel ()) -> nhấn Run.
Bước 8: Hộp thoại Browse hiện ra -> chọn đường dẫn đến các file dữ liệu cần gộp (ví dụ: DS_1 và DS_2) -> nhấn Open.
Sau khi nhấn Open, dữ liệu từ hai file sẽ được ghi vào Sheet 2 và Sheet 3 trong file Book1. Bước cuối cùng là hợp nhất các Sheet thành một Sheet duy nhất.
Bước 9: Chọn thẻ View -> View Macro -> chọn GopCacSheet () -> nhấn Run.
Toàn bộ dữ liệu từ hai Sheet sẽ được hợp nhất vào Sheet 1. Lưu ý rằng số thứ tự có thể chưa chính xác, bạn cần nhập lại và điều chỉnh kích thước các cột. Sau khi hoàn tất chỉnh sửa, kết quả sẽ hiển thị như sau:
Lưu ý:
- Sheet 1 sẽ được gộp từ dữ liệu của Sheet 2 và Sheet 3.
- Phương pháp này có thể áp dụng với nhiều file khác nhau, nhưng cần lưu ý rằng số lượng file càng lớn thì tốc độ xử lý càng chậm.
- Trong quá trình gộp file, tránh sử dụng các hàm dữ liệu vì có thể gây lỗi do thay đổi địa chỉ. Chỉ nên sử dụng dữ liệu nhập đơn thuần.
Chúc các bạn thực hiện thành công và đạt được kết quả như mong đợi!
Có thể bạn quan tâm