Cách copy dữ liệu nhiều file exel thành 1 file

4.3/5 - (397 votes)

‘- Exel là phần mềm Office được rất nhiều nhân viên văn phòng sử dụng cho nhiều công việc khác nhau: kế toán, dự toán…Trong quá trình làm việc với Exel chúng ta sẽ gặp phải trường hợp đó là nối dữ liệu nhiều file Exel trong cùng 1 thư mục thành 1 file Exel duy nhất. Việc nối dữ liệu này phải đảm bảo đúng số hàng, số cột của các file Exel.

– Đầu tiên tôi sẽ tạo một ví dụ thực tiễn để mô tả lại bài viết này, tôi có một tài liệu excel với nội dung như sau:

noi du lieu file exel buoc 1

– Và tôi có tất cả 6 file với định dạng, bố cục, vị trí như file excel trên và để trong thư mục [D:Z-TestEXCEL] như sau:

noi du lieu file exel buoc 2
– Bạn để ý ở hình trên tôi có tạo 1 file excel hoàn toàn mới tên là [Combine_All_Excel], tiếp theo mở file excel lên và chọn trên thanh menu “View → Macro“.

noi du lieu file exel buoc 3
– Trong cửa sổ Macro được hiển thị, bạn điền các thông số sau:
Marco Name: MergeFilesExcel
Macros in: This Workbook
– Tiếp theo bấm nút Create chương trình [Microsoft Visual Basic for Applications] sẽ hiển thị như hình bên dưới.

noi du lieu file exel buoc 4
– Trong cửa sổ Module1 điền đoạn mã dưới đây (chúng ta nên sửa lại đường dẫn tới thư mục chứa file Exel ở code dưới sao cho phù hợp, trong ví du này của tôi là  D:Z-TestEXCEL ):

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

'Dien duong dan folder chua cac tap tin excel can gom lai.
'Nhu ban thay toi tien duong dan thu muc chua cai file excel cua toi.
path = "D:Z-TestEXCEL"

Application.EnableEvents = 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)

Leave a Reply

Your email address will not be published. Required fields are marked *