Tổng hợp dữ liệu từ nhiều file excel theo từng ngày vào file excel đóng

Liên hệ QC

Bình22222

Thành viên mới
Tham gia
17/9/19
Bài viết
18
Được thích
2
Chào mọi người.

Nhờ mọi người giúp mình vấn đề gộp các file excel riêng lẻ vào 1 sheet trong file excel.
Mình đã lên các diễn đàn và youtube xem hướng dẫn dùng VBA giải quết cho vấn đề này, nhưng mình không làm được cho trường hợp của mình, rất mong được mọi người giúp đỡ.

Trong tháng mình có khoảng hơn 100 file excel ghi nhận báo cáo kiểm tra chất lượng sản phẩm, mỗi file có 4 sheet.
Mình cần gộp sheet tên "ket qua KT " ở các file excel khác nhau vào chung 1 sheet, dòng bắt đầu lấy dữ liệu là dòng 12.
Lưu ý trong file excel của mình:
- dòng 4 đến dòng 8 bị ẩn và có chứa công thức liên kết với các sheet trong file excel.
- vùng G12:L12 sẽ bị thay đổi dữ liệu theo từng file excel.
- số dòng chứa dữ liệu khác nhau với mỗi file excel khác nhau (dao động từ 30 tới 300 dòng).
- các file excel sẽ được cập nhật dữ liệu theo ngày.

Cám ơn mọi người và diễn đàn.
 

File đính kèm

  • File báo cáo.rar
    1.1 MB · Đọc: 27
Trong thư mục có nhiều file hệ thống tự lưu, nên xóa các file nầy
Chỉnh lại Function GetFilesInFolder
Mã:
Private Function GetFilesInFolder(ByVal pathFolder As String, ByVal extensionFile As String) As Variant
    Dim FSo As Object, objFolder As Object, objFile As Object, res As Variant, i As Long
    Dim wb_name As String, path
    wb_name = ThisWorkbook.FullName
  
    Set FSo = CreateObject("Scripting.FileSystemObject")
    Set objFolder = FSo.GetFolder(pathFolder)
    extensionFile = VBA.UCase$(extensionFile)
    If objFolder.Files.Count < 1 Then Exit Function
  
    For Each objFile In objFolder.Files
        If VBA.UCase$(FSo.GetExtensionName(objFile)) Like extensionFile Then
            path = objFile.path
            If Left(objFile.Name, 1) <> "~" Then
                If path <> wb_name Then
                    i = i + 1
                    ReDim Preserve res(1 To i)
                    res(i) = path
                End If
            End If
         End If
    Next objFile
    GetFilesInFolder = res
End Function

Mặc dù e đã "show hidden files" để xóa hết các file ẩn như anh hướng dẫn, nhưng vẫn nhận được thông báo như hình.
s2.PNG
 
Upvote 0
Mặc dù e đã "show hidden files" để xóa hết các file ẩn như anh hướng dẫn, nhưng vẫn nhận được thông báo như hình.
View attachment 226238
Chỉnh lại
Mã:
Private Function GetFilesInFolder(ByVal pathFolder As String, ByVal extensionFile As String) As Variant
    Dim FSo As Object, objFolder As Object, objFile As Object, res(), i As Long
    Dim wb_name As String, path
    wb_name = ThisWorkbook.FullName
    
    Set FSo = CreateObject("Scripting.FileSystemObject")
    Set objFolder = FSo.GetFolder(pathFolder)
    extensionFile = VBA.UCase$(extensionFile)
    If objFolder.Files.Count < 1 Then Exit Function
    
    For Each objFile In objFolder.Files
        If VBA.UCase$(FSo.GetExtensionName(objFile)) Like extensionFile Then
            path = objFile.path
            If Left(objFile.Name, 1) <> "~" Then
                If path <> wb_name Then
                    i = i + 1
                    ReDim Preserve res(1 To i)
                    res(i) = path
                End If
            End If
         End If
    Next objFile
    GetFilesInFolder = res
End Function
 
Upvote 0
Chỉnh lại
Mã:
Private Function GetFilesInFolder(ByVal pathFolder As String, ByVal extensionFile As String) As Variant
    Dim FSo As Object, objFolder As Object, objFile As Object, res(), i As Long
    Dim wb_name As String, path
    wb_name = ThisWorkbook.FullName
   
    Set FSo = CreateObject("Scripting.FileSystemObject")
    Set objFolder = FSo.GetFolder(pathFolder)
    extensionFile = VBA.UCase$(extensionFile)
    If objFolder.Files.Count < 1 Then Exit Function
   
    For Each objFile In objFolder.Files
        If VBA.UCase$(FSo.GetExtensionName(objFile)) Like extensionFile Then
            path = objFile.path
            If Left(objFile.Name, 1) <> "~" Then
                If path <> wb_name Then
                    i = i + 1
                    ReDim Preserve res(1 To i)
                    res(i) = path
                End If
            End If
         End If
    Next objFile
    GetFilesInFolder = res
End Function

Rất cám ơn anh "HieuCD" Code đã chạy được.

Em gửi file hoàn chỉnh lên đây để mọi người cần thì tham khảo nha.
Cám ơn anh "HieuCD" và diễn đàn.
 

File đính kèm

  • File gop ok.rar
    325.8 KB · Đọc: 33
Upvote 0
Rất cám ơn anh "HieuCD" Code đã chạy được.

Em gửi file hoàn chỉnh lên đây để mọi người cần thì tham khảo nha.
Cám ơn anh "HieuCD" và diễn đàn.

Mình có cùng thắc mắc nên cám ơn bạn rất nhiều vì đã tổng hợp lại thành file hoàn chỉnh. lúc mình tải về tham khảo cho trường hợp của mình thì file RAR bị báo lỗi. Bạn vui lòng check lại giúp được không Binh22222.
 
Upvote 0
Mình có cùng thắc mắc nên cám ơn bạn rất nhiều vì đã tổng hợp lại thành file hoàn chỉnh. lúc mình tải về tham khảo cho trường hợp của mình thì file RAR bị báo lỗi. Bạn vui lòng check lại giúp được không Binh22222.
Anh tải file đính kèm nhé !
 

File đính kèm

  • Files tong hop_145078 #45.zip
    337.7 KB · Đọc: 14
Upvote 0
Mình có cùng thắc mắc nên cám ơn bạn rất nhiều vì đã tổng hợp lại thành file hoàn chỉnh. lúc mình tải về tham khảo cho trường hợp của mình thì file RAR bị báo lỗi. Bạn vui lòng check lại giúp được không Binh22222.

Gửi bạn leonkkt file cập nhật lại nhe.
Mình xin gửi từng file excel đơn lên diễn đàn để mọi người dùng phòng khi file nén bị trục trặc, mong admin đừng xóa nhe.
Cảm ơn diễn đàn.
 

File đính kèm

  • File gop cap nhat 12112019.rar
    307.8 KB · Đọc: 10
  • Gop file.xlsm
    26.3 KB · Đọc: 9
  • M 214X31 P0101 B.T.X.xlsx
    415.9 KB · Đọc: 8
  • M 170X29 P0101 A.T.xlsx
    409 KB · Đọc: 8
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom