Nối nhiều file excel thành một file excel bằng marco Excel 2007 và 2010 đều được
Để gom nhiều file excel thành một file excel duy nhất bạn thực hiện các bước sau:
Tạo 1 file export hoàn toàn mới “New Microsoft Excel Worksheet.xlsx”, tiếp theo mở file excel lên và chọn trên thanh menu “View” → “Macro”.
Trong bảng Macro tại ô Marco Name điền MergeFilesExcel, Macros in chon This Workbook, tiếp theo chọn nút Create chương trình “Microsoft Visual Basic for Applications” sẽ hiển thị.
Trong cửa sổ Module1 điền đoạn mã dưới đây
CODE:
Sub MergeFilesExcel()
Dim path As String, ThisWB As String, lngFilecounter As Long
Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet
Dim Filename As String, Wkb As Workbook
Dim CopyRng As Range, Dest As Range
Dim RowofCopySheet As Integer
RowofCopySheet = 2
ThisWB = ActiveWorkbook.Name
path = "Đường dẫn thư mục chứa các tập tin excel cầm gom lại."
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.ScreenUpdating = False
Set shtDest = ActiveWorkbook.Sheets(1)
Filename = Dir(path & "\*.xls", vbNormal)
If Len(Filename) = 0 Then Exit Sub
Do Until Filename = vbNullString
If Not Filename = ThisWB Then
Set Wkb = Workbooks.Open(Filename:=path & "\" & Filename)
Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count))
Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
CopyRng.Copy Dest
Wkb.Close False
End If
Filename = Dir(path & "\*.xls", vbNormal)
If Len(Filename) = 0 Then Exit Sub
Do Until Filename = vbNullString
If Not Filename = ThisWB Then
Set Wkb = Workbooks.Open(Filename:=path & "\" & Filename)
Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count))
Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
CopyRng.Copy Dest
Wkb.Close False
End If
Filename = Dir()
Loop
Loop
Range("A1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.ScreenUpdating = True
MsgBox "Ket Thuc!"
End Sub
Tiếp nhấn nút run màu xanh bên trên bảng menu icon , hoặc trên thanh menu chọn “Run” → “Run Sub/UserForm F5″
Sau khi chạy xong một bảng thông báo kết thúc sẽ hiện thị, bạn chọn “OK” để kết thúc quá trình gom tập tin. Dữ liệu của các tập tin excel sẽ được gom lại trong tập tin “Microsoft Visual Basic for Applications”
Nếu cần gom file csv thì thay đoạn Filename = Dir(path & "\*.xls", vbNormal) bằng Filename = Dir(path & "\*.csv", vbNormal)
Blog tổng hợp những kinh nghiệm được học, áp dụng và chia sẻ