Cách ghép 2 file Excel thành 1 có code đính kèm

Trong bài viết này, chúng tôi sẽ hướng dẫn đến bạn cách ghép 2 file Excel bằng VBA, cùng đón đọc nhé!

Kết hợp nhiều file excel thành một file excel bằng VBA:

Bạn có thể dùng mã VBA để ghép 2 file Excel thành 1 file excel lớn theo các bước sau :

Bước 1: Đầu tiên, bạn đặt tất cả file excel vào cùng trong một thư mục như hình sau:

Bước 2: Tiến hành chạy tệp Excel mà bạn muốn kết hợp những bảng tính khác với nó.

Bước 3: Di chuyển vào Developer > Visual Basic, tại cửa sổ Microsoft Visual Basic for applications mở ra, bạn nhấp vào Insert > Module, thực hiện sao chép đoạn mã dưới đây vào Module:

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 Sub

Chú ý. Trong đoạn mã trên, bạn cũng có thể thay đổi đường dẫn trở thành đường dẫn bạn đang dùng.

Bước 4: Cuối cùng, bạn nhấn để chạy mã. Toàn bộ trang tính (bao gồm trang trắng) tại bảng tính sẽ được hợp nhất vào một bảng tính lớn.

Chú ý. Mã VBA sẽ được hợp nhất tất cả file excel vào một file excel lớn, nếu như bạn chỉ muốn kết hợp một vài file excel cụ thể trong bảng tính, mã này sẽ không hoạt động.

Copy nhiều sheets Excel của nhiều files Excel vào 1 file Excel cách 2

Bạn tiến hành copy và chạy code sau trong 1 Standard Module của Excel VBA

Link tới code để copy: MergeExcelFiles

 

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
Kết hợp nhiều file excel thành một file excel bằng Move or Copy

Nếu như bạn chỉ mới học sử dụng Excel, bạn sẽ không có lựa chọn nào khác ngoài việc sao chép dữ liệu trong từng trang tính rồi dán chúng vào bảng tính mới. Dùng tính năng Move or Copy để giúp bạn xuất hoặc là sao chép nhiều trang tính trong cùng một bảng tính nhanh chóng hơn. Các bước thực hiện như sau:

Bước 1: Đầu tiên, tiến hành mở tất cả bảng tính mà bạn muốn hợp nhất thành một bảng tính mới.

Bước 2: Tiến hành chọn tất cả tên trang tính trong bảng tính ở thanh tên. Lúc này,bạn có thể chọn nhiều trang bằng việc nhấn giữ Ctrl hoặc Shift. Tiếp đó, bạn nhấp phải vào tên trang tính, rồi chọn Move or Copy…

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

Bước 4: Nhấn OK. Lúc này, các trang tính được chọn đã được di chuyển tới bảng tính lớn.

Bước 5: Tiến hành lặp lại bước 2-4 để di chuyển các bảng tính khác đến bảng tính lớn. Nó sẽ kết hợp nhiều trang tính của những bảng tính được mở thành một bảng tính lớn.

Các thông tin trong bài viết trên đã giúp bạn hiểu được cách ghép 2 file Excel thành 1 rồi đấy, chúc bạn thực hiện thành công!

Xem thêm: Hướng dẫn cách viết phân số trong Excel

Tin tức liên quan

Gửi bình luận

Email của bạn sẽ không được hiển thị công khai.