Cách Gộp Nhiều File Excel Thành Một File Tổng Hợp ( Kèm CODE)
Có thể bạn quan tâm
Chắc hẳn người sử dụng Excel không ít lần loay hoay không biết làm thể nào để tổng hợp nhiều file Excel riêng lẻ khác nhau thành một file hoàn chỉnh gồm nhiều trang tính. Việc thao tác dùng các hàm như VLOOKUP hay tham chiếu tới các bảng tính Excel khác dường như gây nhiều bất tiện khi người dùng phải mở nhiều file đồng thời. Bài viết này, Gitiho sẽ hướng dẫn các bạn cách gộp nhiều file Excel thành một file duy nhất.
Xem thêm: Tuyệt đỉnh Excel - Khóa học Excel Online giúp bạn Trở thành bậc thầy Excel trong 16 giờ
Tuyệt đỉnh Excel: Khóa học Excel online từ cơ bản đến nâng cao
G-LEARNING 499,000đ 799,000đ Đăng ký Học thửXEM NHANH BÀI VIẾT
- 1 Sử dụng CODE VBA
- 2 Sử dụng mã CODE VBA khác
- 3 Sử dụng "Move or Copy"
Sử dụng CODE VBA
Đầu tiên, hãy cho tất cả các file cần tổng hợp vào trong một folder như sau:
.jpg)
Tiếp theo,
Mở tệp Excel mới mà bạn muốn tổng hợp cả 4 file trên
Các file book1, book2, book3, book4 bao gồm nhiều sheets khác nhau.
Bạn cần thực hiện thao tác sau đây:
Sub GetSheets() Path = "C:\Users\dt\Desktop\dt kte\" 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 SubVào Developer > Visual Basic, cửa sổ Microsoft Visual Basic for applications mở ra. Nhấp vào Insert > Module, sao chép đoạn mã dưới đây vào Module:
Lưu ý: Trong đoạn Code trên, sau phần " Path = ", trong dấu ngoặc kép (") là thư mục chứa 4 file excel trong ví dụ chúng tôi đã cho, bạn có thể thay đổi bằng đường dẫn thư mục 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.
Cuối cùng, nhấn Run hoặc phím F5 để chạy mã. Kết quả thu được là tất cả trang tính giờ đây sẽ nằm trên cùng một file (một bảng tính) Excel.
Nhược điểm của 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, 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ì cách thứ 2 sau đây mới dành cho bạn.
Sử dụng mã CODE VBA khác
Thao tác tương tự như trên, bạn chỉ cần thay "mã Code trên" bằng mã Code mới 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 SubSử 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 như hình dưới đây
.jpg)
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:
.jpg)
Cuối cùng, Click OK và kết quả thu được là một bảng tính Excel lớn bao gồm các trang tính bạn đã chọn.
Lưu ý: Lặp lại thao tác với các bảng tính (file Excel riêng lẻ khác) như book2.xlsx, book3.xlsx,... của chúng tôi hay các bảng tính của các bạn để gộp được thành một file Excel lớn duy nhất.
.jpg)
Qua bài viết trên, chúng ta thấy VBA là một công cụ hữu hiệu đối với người cần sử dụng Excel trong công việc hàng ngày. Không những thế, VBA còn chứa vô vàn tính năng hỗ trợ bạn không chỉ trong Excel mà còn trong Word, PowerPoint, Outlook,... giúp bạn trở thành dân chuyên trong lĩnh vực tin học văn phòng.
Tham khảo các bài viết, cũng như các khóa học VBA từ cơ bản đến nâng cao của Gitiho để làm chủ các kĩ năng trong Excel tối ưu hóa công việc của bạn:
Tuyệt đỉnh VBA: Tự động hóa Excel với lập trình VBA
G-LEARNING 499,000đ 799,000đ Đăng ký Học thử
Ebook thư viện code mẫu VBA
G-LEARNING 69,000đ 69,000đ Đăng ký Học thử
Từ khóa » Ghép File Excel Bằng Vba
-
3 Bước để Ghép Nhiều File Excel Thành Một File Duy Nhất
-
Hướng Dẫn Gộp Nhiều File Excel Thành Một File Excel, Có Code đính Kèm
-
Cách Ghép Nhiều File Excel Thành 1 File - Quản Trị Máy Tính
-
Hướng Dẫn Gộp Nhiều File Excel Thành Một File Duy Nhất 7/2022
-
Cách Nối File Excel, Ghép Nhiều File Excel, Gộp Nhiều Sheet Thành 1 File
-
Hướng Dẫn Nối, Gộp Nhiều File Excel Thành 1 File - Thủ Thuật
-
Cách Gộp Nhiều File Excel Vào Một File Duy Nhất - YouTube
-
Cách Nối File Excel, Ghép Dữ Liệu Từ Nhiều File Excel, Gộp Nhiều Sheet
-
Cách Tổng Hợp Dữ Liệu Từ Nhiều File Excel Về Một File ... - Uniace
-
Hướng Dẫn Cách Gộp Các Sheet Trong Excel Kèm Theo Code VBA
-
Hướng Dẫn Gộp Nhiều File Excel Thành 1 File - Thủ Thuật Phần Mềm
-
Xin Code VBA Gộp Nhiều File Thành 1 File | Giải Pháp Excel
-
Cách Nối File Excel
-
Cách Ghép 2 File Excel Thành 1 Có Code đính Kèm