Tổng hợp dữ liệu các file trong một folder (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

IceFrogBG

Thành viên mới
Tham gia
8/5/17
Bài viết
5
Được thích
0
Giới tính
Nam
Em có một folder bên trong chứa các file (tên file dạng ngày tháng)
Muốn làm một tool tổng hợp dữ liệu bên trong các file này đưa ra kết quả ở 1 sheet theo từng ngày.
Nhưng khi chạy thì báo lỗi.
Các anh,chị có thể kiểm tra xem lỗi ở đâu giúp em với.
Em cảm ơn ạ.


Mã:
Sub kiemtra()
 Dim mySource As Object, file As Variant
 Dim myObject As Object
 Dim l, k As String
 Dim year, month As Integer
 Dim toolsname As String
 Dim Fder, u As Variant
 Dim Folder As Variant
 Dim n, i As Integer
 Dim dataname As String
 Dim mysheet As Worksheet
 
 Application.DisplayAlerts = False
 toolsname = ThisWorkbook.Name
 Fder = Range("D2")
 u = Right(Fder, 1)
 If u = "\" Then
   Folder = Fder
 Else
   Folder = Fder & "\"
 End If
 
 If Fder = "" Then
  'MsgBox "Nhap thong tin duong link vao o cell D2"
  Exit Sub
 Else
   Set myObject = New Scripting.FileSystemObject
   Set mySource = myObject.GetFolder(Folder)
   For Each file In mySource.Files
      l = Dir(file)
      'year = ComboBox1.Value
      'month = ComboBox2.Value
      If Mid(l, 4, 4) = 1706 Then
      Application.DisplayAlerts = False
      Workbooks.Open file
      dataname = Left(l, Len(l) - 4)
      Workbooks(l).Worksheets(dataname).Select
    'Call tachdata
   Workbooks(l).Sheets(dataname).Copy After:=Workbooks(toolsname).Sheets("RESULT")
   Workbooks(l).Close
        End If
   Next
For Each mysheet In Workbooks(toolsname).Worksheets
  'If mysheet.Name <> "LINK FOLDER" And mysheet.Name <> "RESULT" Then
  If Left(mysheet.Name, 3) = "res" Then
    mysheet.Select
    'Range("E6:F36").Select
    'Selection.ClearContents
    For i = 1 To 31
                If Day(Right(mysheet.Name, 2)) = Day(i) Then
                    Sheets("LINK FOLDER").Select
                    Range("E" & i + 5).Select
                    ActiveCell.FormulaR1C1 = Workbooks(toolsname).Sheets(mysheet.Name).Cells(2, 1)
                    Range("F" & i + 5).Select
                    ActiveCell.FormulaR1C1 = Workbooks(toolsname).Sheets(mysheet.Name).Cells(2, 1) + Workbooks(toolsname).Sheets(mysheet.Name).Cells(1, 1)
                End If
    Next
    End If
Next
End If
'Call xoasheet1
End Sub
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom