- Tiện lợi trong việc tổng hợp dữ liệu từ nhiều nguồn.
- Giảm sai sót khi xử lý dữ liệu thủ công.
- Dễ dàng phân tích và báo cáo trên một bảng duy nhất.
* Các bước cần chuẩn bị:
- Máy tính cài đặt Excel 2013 hoặc Excel 2016 thông dụng hay dùng hiện nay.
- Có sẵn các file excel để thực hiện.
Giả sử bạn có 2 file Excel với dữ liệu như sau:
File thứ 1: Taimienphi.vn-File01.xlsx
File thứ 2: Taimienphi.vn-File02.xlsx
Để gộp dữ liệu từ 2 file trên thành 1 file dữ liệu duy nhất đặt tên Book1 (các bản ghi nằm cùng trên 1 Sheet) bạn làm như sau:
Bước 1: Bạn tạo 1 file Excel mới tên là Book1 -> sau đó nhấn tổ hợp phím Alt + F11 -> cửa sổ xuất hiện -> bạn chọn tab Insert -> chọn Module.
Bước 2: Copy đoạn code dưới đây 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 "No Files were selected"
GoTo ExitHandler
End If
x = 1
While x <=>
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: Bạn Save Module 1 đặt tên GopFileExcel. Vì Module có chứa Macro nên khi bạn save sẽ có thông báo -> bạn nhấn chọn OK.
Bước 4: Tạo thêm 1 Module nữa -> bạn tiếp tục nhấn chọn Insert ->Module.
Bước 5: Sau đó copy toàn bộ đoạn code dưới đây vào Module 2 -> bạn lưu lại và đặt tên GopSheetExcel.
Sub GopSheetExcel()
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).Copy 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: Bạn trở lại với file Excel vừa tạo -> rồi vào tab View -> chọn View Marco (hoặc nhấn phím tắt Alt + F8).
Hộp thoại macro xuất hiện -> bạn chọn Module 1 (tên GopFileExcel) -> chọn Run.
Hộp thoại Browse xuất hiện -> bạn chọn đường dẫn tới các file dữ liệu cần gộp (ở đây bạn chọn file Taimienphi.vn-File01.xlsx và Taimienphi.vn-File02.xlsx) -> chọn Open.
Sau khi bạn chọn Open thì dữ liệu từ 2 file tương ứng sẽ ghi vào sheet 2 và sheet 3 trong file Book1.
Bước 7: Bạn vào tab View ->View Macro -> chọn GopSheetExcel -> rồi chọn Run.
Bạn sẽ thấy toàn bộ dữ liệu ở 2 Sheet gộp vào trong Sheet 1. Nếu bạn thấy số thứ tự chưa đúng hay chưa chuẩn thì nhập lại, đồng thời căn chỉnh các cell và cột cho đẹp mắt nhé.
Một số lưu ý khi gộp file dùng code VBA
- Sheet gộp sheet2, sheet 3 là sheet 1.
- Nếu bạn gộp nhiều file, các file càng lớn thì tốc độ xử lý sẽ chậm hơn.
- Trong quá trình gộp file dữ liệu, bạn không nên sử dụng thêm bất kỳ hàm dữ liệu nào để tránh gây ra lỗi. Khuyến khích dùng dữ liệu nhập đơn thuần.
Với cách này, bạn thao tác tương tự như cách sao chép, di chuyển Sheet trong Excel.
Trên đây là hướng dẫn giúp bạn nối, gộp nhiều file Excel thành một file duy nhất. Tùy theo khối lượng dữ liệu và yêu cầu công việc, hãy chọn cách phù hợp nhất. Nếu muốn thao tác tương tự với file Word, bạn có thể tham khảo hướng dẫn nối file Word thành 1.
=>