Bạn có quá nhiều bảng tính (file Excel), quá nhiều trang tính(Sheet) khó quản lý. Bạn muốn kết hợp nhiều file excel thành một file Excel, muốn kết hợp thành một Sheet. Sau đây mình sẽ giới thiệu vài cách gộp file excel đơn giản bạn có thể tham khảo.
1. Gộp File Excel từ nhiều file thành 1 file
Cách 1: Cách gộp file excel bằng Move or Copy
Bước 1: Mở file có các sheet cần tổng hợp lại
Bước 2: Tại tên Sheet click chuột phải chọn Move or Copy…
Nếu muốn di chuyển nhiều Sheet thì nhấn giữ Ctrl hoặc Shift để chọn

Bước 3: Trong hộp thoại Move or Copy, chọn file tổng bạn muốn hợp nhất vào từ danh sách tùy chọn Move selected sheets to book. Sau đó xác nhận vị trí của các trang tính được hợp nhất như hình dưới đây :

Lưu ý: Nếu bạn muốn copy và giữ sheet (a) ở file cũ lại thì tích vào Create a copy
Nếu bạn muốn cut sheet (a) ở file cũ đi luôn thì không tích vào Create a copy
Bước 4: Nhấn OK. Các Sheet được chọn đã được di chuyển tới file tổng.
Bước 5: Lặp lại bước 2-4 để di chuyển những Sheet khác đến file tổng. Nó sẽ kết hợp nhiều Sheet của các file được mở thành một file tổng
Cách 2: Bằng code VBA
Bước 1: Tạo 1 thư mục (folder) chứa tất cả các file excel cần gộp
Bước 2: Mở 1 file excel trong thư mục đó lên, tại đây nhấn Alt+F11
Insert -> Module -> Copy đoạn code bên dưới dán vào -> Lưu lại (Ctrl+S) -> Yes
Lưu ý quan trọng: Thay thế địa chỉ im đậm ở mã code VBA bằng địa chỉ tại thư mục bạn tạo folder ở Bước 1
Sub GetSheets()
Path = “C:\Users\kim\Desktop\Bai Tap”
Filename = Dir(Path & “*.xls”)
Do While Filename <> “”
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
Bước 3: Quay lại file excel nhấn Alt+F8 (View->Macros->View Macros) để khởi động chế độ tự động trên Excel
Tại hộp thoại Macro (Macro name) chọn GetSheets => sau đó click Run để hợp nhất các Sheet lại vào Sheet tổng
Muốn tìm địa chỉ folder bạn lưu
Tại folder lưu các file cần gộp, nhấn vào tên folder phía trên, copy địa chỉ bôi đen đó thay vào địa chỉ bôi đen phía trên (Không nên để địa chỉ có dấu thường hay bị lỗi)

2. Gộp file excel từ nhiều sheet thành 1 sheet
Bước 1: Mở tất cả các file có các Sheet mình cần gộp lại, nếu đều nằm trong một file excel thì chỉ cần mở nó lên
Bước 2: Tại Sheet bạn muốn tổng hợp lại, nhấn Alt+F11
Insert -> Module -> Copy đoạn code bên dưới dán vào đây như hình dưới -> Lưu lại (Ctrl+S) với tên MergeSheets hoặc cũng có thể bạn lưu lại với tên bạn muốn và đổi MergeSheets bên đoạn code dưới thành tên bạn muốn đổi
Sub MergeSheets()
Const NHR = 1
Dim MWS As Worksheet
Dim AWS As Worksheet
Dim FAR As Long
Dim LR As Long
Set AWS = ActiveSheet
For Each MWS In ActiveWindow.SelectedSheets
If Not MWS Is AWS Then
FAR = AWS.UsedRange.Cells(AWS.UsedRange.Cells.Count).Row + 1
LR = MWS.UsedRange.Cells(MWS.UsedRange.Cells.Count).Row
MWS.Range(MWS.Rows(NHR + 1), MWS.Rows(LR)).Copy AWS.Rows(FAR)
End If
Next MWS
End Sub

Lưu ý quan trọng: Không tắt code VBA
Bước 3: Mở giao diện tại Sheet tổng, giữ Ctrl và nhấn chọn những Sheet cần gộp

Bước 4: Quay lại file excel nhấn Alt+F8 (View->Macros->View Macros) để khởi động chế độ tự động trên Excel
Tại cửa sổ Macro bạn chọn MergeSheets => sau đó click Run để hợp nhất các Sheet lại vào Sheet tổng
Bước 5: Thưởng thức kết quả làm được và nếu muốn bạn có thể đổi tên lại
3. Gộp file excel từ nhiều file thành nhiều sheet
Bước 1: Mở file tổng cần gộp tất cả các file, tại đây bạn nhấn Alt+F11
Insert -> Module -> Copy đoạn code bên dưới dán vào -> Lưu lại (Ctrl+S) -> Yes
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 <= 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 2: Quay lại file excel nhấn Alt+F8 (View->Macros->View Macros) để khởi động chế độ tự động trên Excel
Tại cửa sổ Macro bạn chọn GopFileExcel -> sau đó click Run -> Tìm chọn đến file cần gộp -> Open

Bước 3: Thưởng thức kết quả như số 3 trên
4. Gộp file excel từ nhiều file thành 1 sheet
Bước 1: Tạo thêm 1 file đặt tên là Danh sách tổng, mở nó lên bấm tổ hợp phím Alt+F11
Insert -> Module -> Copy đoạn code bên dưới dán vào -> lưu lại (Ctrl+S)
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 <= 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
Nó sẽ hiện thông báo bạn có chắc chắn muốn lưu lại không, bạn bấm Yes
Bước 2: Tiếp tục tạo một Module mới tương tự như Bước 1 (Insert -> Module) Sau đó dán đoạn code mới dưới vào và lưu lại
Sub gopsheet()
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub
Bước 3: Thoát trình VBA, quay lại file excel nhấn Alt+F8 (View->Macros->View Macros)
Tại hộp thoại Macro bạn chọn GopFileExcel -> click Run -> Chọn những file cần gộp (Chọn nhiều file bằng cách nhấn Ctrl và chọn) -> click Open

Hệ thống sẽ gộp các file excel con vào các Sheet trong file Tổng
Bước 4: Tiếp tục nhấn tổ hợp phím Alt+F8 (View->Macros->View Macros)
Tại cửa sổ Macro chọn gopsheet -> click Run


File tổng hơp xuất hiện với tên Combined
Bước 5: Căn chỉnh lại cho phù hợp.
Rất đơn giản phải không mà các bạn có thể gộp file excel nhanh chóng từ nhiều file, nhiều sheet đi chăng nữa, cũng có thể gộp file excel thành 1 sheet duy nhất dễ dàng chỉ việc làm theo các bước mình đã chỉ thôi.
5. Lưu ý
Một số máy nhấn Alt+F11 không được thì thử Fn+Alt+F11 nhé
Trên đây là 4 cách gộp file excel đơn giản mà mình thường sử dụng nhất, giúp mình tiết kiệm rất nhiều thời gian và công sức, hy vọng bài viết này cũng sẽ giúp ích được nhiều cho các bạn.
Leave a Reply