4 cách Gộp nhiều Sheet/File thành 1 Sheet/File trong Excel

 


Sử dụng "Move or Copy"

Với những dân không chuyên trong Excel hay không sử dụng được Code phức tạp, thì bạn bắt buộc phải sử dụng tính năng More or Copy để sao chép các trang tính một cách nhanh hơn.

Bước 1: Mở tất cả các file chứa các sheets bạn muốn gộp.

Bước 2: Chọn tất cả các tên trang tính (ví dụ như Sheet 1, Sheet 2,...) trong bảng tính ở thanh tên. Bạn có thể chọn nhiều trang bằng cách nhấn giữ Ctrl hoặc Shift rồi Click chuột trái để chọn. Nhấp chuột phải vào tên một trang tính trong số trang tính đã chọn, chọn Move or Copy.

Hộp thoại Move or Copy sẽ được hiện lên, tại dòng "Move selected sheets to book" bạn chọn tất cả các file Excel riêng lẻ (các bảng tính) mà bạn muốn gộp nhất. Tại phần "Before sheet" bạn chọn vị trí các sheet như hình dưới đây:



Gộp nhiều Sheet thành 1 Sheet trên Excel bằng VBA



Nhấn giữ Alt + F11, hộp thoại Microsoft Visual Basic for Applications mở ra.
Nhấp Insert > Module, và dán đoạn mã sau vào cửa sổ Module.

Sub GopNhieuSheet()
  Dim J As Integer
  On Error Resume Next
  Sheets(1).Select
  Worksheets.Add
  Sheets(1).Name = "GopNhieuSheet"
  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

Nhấn F5 để chạy mã

Chú ý.

(1) Dữ liệu của bạn phải bắt đầu từ ô A1, nếu không đoạn mã sẽ không hoạt động.

(2) Dữ liệu của bạn phải có cùng cấu trúc.

(3) Mã này chỉ có thể kết hợp tất cả trang tính của một bảng tính, nếu bạn muốn hợp nhất nhiều trang tính từ nhiều bảng tính khác nhau, đoạn mã này sẽ không hoạt động.

Gộp nhiều FILE thành 1 FILE trên Excel bằng VBA

Mã Code này là gộp tất cả các file bạn chọn trong thư mục thành một bảng tính duy nhất


Sub GopNhieuFile()

Path = "C:\Desktop\AAA\"
 
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


Chú ý: Trong đoạn Code trên, sau phần Path = "C:\Desktop\AAA\", trong dấu ngoặc kép (" ") là thư mục chứa các file excel, bạn phải thay đổi đường dẫn này chứa các file bạn đang lưu. Đừng quên thêm dấu "\" sau đường dẫn để Excel có thể nhận định chúng trên cùng một folder.


Nếu bạn chỉ muốn gộp một vài sheet cụ thể trong các file Excel sẵn có, thì dùng Code sau.

Sub MergeExcelFiles()    Dim fnameList, fnameCurFile As Variant    Dim countFiles, countSheets As Integer    Dim wksCurSheet As Worksheet    Dim wbkCurBook, wbkSrcBook As Workbook    fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)    If (vbBoolean <> VarType(fnameList)) Then        If (UBound(fnameList) > 0) Then            countFiles = 0            countSheets = 0            Application.ScreenUpdating = False            Application.Calculation = xlCalculationManual            Set wbkCurBook = ActiveWorkbook            For Each fnameCurFile In fnameList                countFiles = countFiles + 1                Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)                For Each wksCurSheet In wbkSrcBook.Sheets                    countSheets = countSheets + 1                    wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)                Next                wbkSrcBook.Close SaveChanges:=False            Next            Application.ScreenUpdating = True            Application.Calculation = xlCalculationAutomatic            MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"        End If    Else        MsgBox "No files selected", Title:="Merge Excel files"    End If End Sub


Cách thực hiện gộp nhiều file Excel thành 1 file bằng Power Query

Chép các file cần gộp vào cùng một thư mục. 

Tiếp theo mở một file excel mới lên, vào Menu Data -> New Query -> From File -> From Folder.

Tiếp theo chọn đường dẫn đến thư mục chưa các file excel cần gộp. Chọn Ok để hoàn thành.

Bước tiếp theo sẽ hiện thị danh sách các file được gộp, tại đây bạn hãy chọn Combine & edit.

Khi đã gộp xong các file excel, bạn sẽ được chuyển đến giao diện xem trước, chọn Ok để hoàn thành.

Cuối cùng chọn Close & Load, lúc này toàn bộ các file excel sẽ được gộp thành 1 file.

Lưu ý: Các file cần gộp phải chung một định danh, cấu trúc để cho file kết quả tốt nhất,bạn phải sử dụng các phiên bản Microsoft Office phiên bản mới để có thể thực hiện được chức năng Power Query. Như hình minh hoạ trên đang sử dụng Excel 2016.


Cách cài đặt Power Query trong Excel 2010, 2013

Bước 1: Kiểm tra phiên bản Excel để lựa chọn phiên bản cài đặt phù hợp

Power Query có 2 phiên bản cài đặt là bản 32 bit và bản 64 bit. Do đó bạn cần kiểm tra xem Excel bạn đang sử dụng là phiên bản nào, khi đó bạn mới biết nên cài đặt phiên bản Power Query nào cho phù hợp.

Với Excel phiên bản 2010, các bạn vào thẻ File, chọn mục Help sẽ có thông tin phiên bản Excel (mục Version) YC SP1 còn bản Pro Plus ko cài đc nhé@
Với Excel phiên bản 2013, 2016: Các bạn vào thẻ File, mục Account, chọn About Excel

Bước 2: Đóng các file Excel lại, sau đó vào link tải Add-in Power Query của Microsoft để chọn phiên bản phù hợp rồi bấm nút Download


Bước 3: Sau khi tải thành công, bạn tiến hành cài đặt bằng cách bấm vào bộ cài, nhấn Next và chờ chương trình cài đặt thành công.

Bước 4: Sau khi hoàn thành, trên giao diện Excel sẽ xuất hiện thêm thẻ Power Query. Trong thẻ này sẽ có chứa các tính năng của Power Query



Không có nhận xét nào

Được tạo bởi Blogger.