Với file trên, em dùng code này để lọc
Sub Tonghop()
On Error Resume Next
Dim HC As Long
Dim i As Long
Dim k As Long
Dim ND As Date
Dim NC As Date
Dim Ma As Range
Dim Tim As Boolean
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Application.EnableEvents = False
HC = S02.Range("D65500").End(xlUp).Row
S02.Select
S02.Range("A8:L" & HC + 1).ClearContents
S02.Range("A9:L" & HC + 2).Select
ND = S02.Range("F3").Value
NC = S02.Range("H3").Value
HC = S01.Range("B65000").End(xlUp).Row
Tim = False
i = 7
k = 7
For Each Ma In S01.Range("B8:B" & HC)
If Ma.Offset(0, -1).Value >= ND And Ma.Offset(0, -1).Value <= NC Then
If Ma.Offset(0, 1) = S02.Range("A3") Then Tim = True
If Tim = True Then
'i = i + 1
If Left(Ma, 1) = "M" Then
i = i + 1
Range("A" & i) = Ma.Offset(0, -1)
Range("B" & i) = Right(Ma, Len(Ma) - 1)
Range("C" & i) = Ma.Offset(0, 2)
Range("D" & i) = Ma.Offset(0, 3)
Range("E" & i) = Ma.Offset(0, 4)
Else
k = k + 1
Range("F" & k) = Ma.Offset(0, -1)
Range("G" & k) = Right(Ma, Len(Ma) - 1)
Range("H" & k) = Ma.Offset(0, 3)
Range("I" & k) = Ma.Offset(0, 5)
Range("J" & k) = Ma.Offset(0, 6)
Range("K" & k) = Ma.Offset(0, 7)
End If: End If: End If
Tim = False
Next
If i < 10 Then i = 10
S02.Range("C" & i + 2) = UNC("Tæng céng")
S02.Range("D" & i + 2) = WorksheetFunction.Sum(S02.Range("D8
" & i))
S02.Range("E" & i + 2) = WorksheetFunction.Sum(S02.Range("E8:E" & i))
S02.Range("H" & i + 2) = WorksheetFunction.Sum(S02.Range("H8:H" & i))
S02.Range("I" & i + 2) = WorksheetFunction.Sum(S02.Range("I8:I" & i))
S02.Range("K" & i + 2) = WorksheetFunction.Sum(S02.Range("K8:K" & i))
S02.Range("L" & i + 2) = WorksheetFunction.Sum(S02.Range("D" & i + 2, "E" & i + 2)) - _
S02.Range("H" & i + 2)
S02.Range("A9:L" & i + 1).Select
S02.Range("A" & i + 2 & ":L" & i + 2).Select
'S02.Range("K" & i + 5) = UNC("Ngêi lËp")
'S02.Range("D" & i + 5) = UNC("Gi¸m ®èc")
' S02.Range("A" & i + 5 & ":L" & i + 5).Select
Range("A3").Select
'Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Set Ma = Nothing
End Sub
Nhưng giờ em muốn khi lọc ra, mỗi khi liệt kê dữ liệu hết tháng thì sẽ tính ra tổng của tháng đó, rồi mới liệt kê tiếp dữ liệu của tháng sau (Với code này thì nó chỉ tính tổng ở cuối dữ liệu). Các bạn giúp mình với. cảm ơn nhiều.