Mình có 1 file TongHop.xls dùng để tổng hợp dữ liệu từ sheet M06, M07 của file1, file2 vào sheet M06, M07 của file TongHop.
Hôm trước mình có nhờ anh Bate code giúp nên mình chỉ đưa ví dụ là 1 sheet vì file gốc rất nhiều sheet, nhưng khi mình copy code của anh Bate để code tương tự cho các sheet khác thì nó không chạy ra kết quả như sheet đầu mà kêt quả chỉ hiển thị của file 1 mà không có số liệu của file 2.
Nhờ các anh chị giúp đỡ em với. Em xin cám ơn nhiều !
Hôm trước mình có nhờ anh Bate code giúp nên mình chỉ đưa ví dụ là 1 sheet vì file gốc rất nhiều sheet, nhưng khi mình copy code của anh Bate để code tương tự cho các sheet khác thì nó không chạy ra kết quả như sheet đầu mà kêt quả chỉ hiển thị của file 1 mà không có số liệu của file 2.
Nhờ các anh chị giúp đỡ em với. Em xin cám ơn nhiều !
Sub tonghop() Call CHI
End Sub
Public Sub CHI()
Application.ScreenUpdating = False
Dim sArr(), Arr22(1 To 500, 1 To 19), Arr23(1 To 500, 1 To 20), tArr()
Dim MyName As String, Pat As String, I As Long, J As Long, K As Long, N As Long, L As Long, M As Long
With ActiveWorkbook
MyName = .Name
Pat = .Path & ""
tArr = Sheets("HUONGDAN").Range("B6:B35").Value
End With
For N = 1 To 30
If tArr(N, 1) <> "" Then
Workbooks.Open Filename:=Pat & tArr(N, 1)
sArr = ActiveWorkbook.Sheets("M06").Range("A15:S45").Value
If sArr(1, 3) <> Empty Then
For I = 1 To UBound(sArr)
If sArr(I, 3) <> Empty Then
L = L + 1
For J = 1 To 19
Arr22(L, J) = sArr(I, J)
Next J
End If
Next I
End If
sArr = ActiveWorkbook.Sheets("M07").Range("A15:T45").Value
If sArr(1, 3) <> Empty Then
For I = 1 To UBound(sArr)
If sArr(I, 3) <> Empty Then
M = M + 1
For J = 1 To 20
Arr23(M, J) = sArr(I, J)
Next J
End If
Next I
End If
ActiveWorkbook.Close False
End If
Next N
Workbooks(MyName).Activate
With Sheets("M06")
.Range("A15").Resize(486, 19).ClearContents
.Range("A15").Resize(486, 19).Font.Bold = False
If L Then
.Range("A15:S15").Resize(L) = Arr22
For I = 1 To L
If Arr22(I, 2) <> Empty Then .Range("A" & I + 14).Resize(, 19).Font.Bold = True
Next I
End If
End With
With Sheets("M07")
.Range("A15").Resize(486, 20).ClearContents
.Range("A15").Resize(486, 20).Font.Bold = False
If M Then
.Range("A15:T15").Resize(M) = Arr23
For I = 1 To M
If Arr23(I, 2) <> Empty Then .Range("A" & I + 14).Resize(, 20).Font.Bold = True
Next I
End If
End With
Application.ScreenUpdating = False
End Sub