Public Sub Tonghop()
Dim Dic As Object, Tem As String, Arr(1 To 65535, 1 To 19), Darr()
Dim i As Long, j As Long, k As Long, nk As Long, ik As Long, n As Long
On Error Resume Next
Set Dic = CreateObject("Scripting.Dictionary")
For n = 1 To 12
i = Sheets("T" & n).Range("E65535").End(xlUp).Row
If i < 10 Then GoTo Tiep
Darr = Sheets("T" & n).Range("A10:S" & i).Value
For i = 1 To UBound(Darr)
If Darr(i, 5) <> Empty Then
If Darr(i, 3) <> Empty Then Tem = Darr(i, 2) & "#" & Darr(i, 3) & "#" & Darr(i, 4)
If Not Dic.Exists(Tem) Then
k = k + 1
ik = (k - 1) * 100 + 1
Dic.Add Tem, ik
Arr(ik, 1) = k
For j = 2 To 4
Arr(ik, j) = Darr(i, j)
Next j
Else
ik = Dic.Item(Tem) + 1
Dic.Item(Tem) = ik
End If
nk = (Int(ik / 100) + 1) * 100
For j = 5 To 19
Arr(ik, j) = Darr(i, j)
If j > 7 Then Arr(nk, j) = Arr(nk, j) + Darr(i, j)
Next j
End If
Next i
Tiep:
Next n
ReDim Darr(1 To UBound(Arr), 1 To UBound(Arr, 2))
ik = 0
For i = 1 To k * 100 Step 100
For nk = i To i + 98
If Arr(nk, 5) = Empty Then Exit For
ik = ik + 1
For j = 1 To 19
Darr(ik, j) = Arr(nk, j)
Next j
Next nk
ik = ik + 1
For j = 8 To 18
Darr(ik, j) = Arr(i + 99, j)
Next j
Next i
With Sheets("Tong_hop")
.Range("A10:S" & .Range("R65535").End(3).Row + 1).Borders.LineStyle = xlNone
.Range("A10:S" & .Range("R65535").End(3).Row + 1).ClearContents
.Range("A10:S" & .Range("R65535").End(3).Row + 1).Font.Bold = False
.Range("A10").Resize(ik, 19) = Darr
.Range("A10:S" & .Range("R65535").End(3).Row + 1).Borders.LineStyle = xlContinuous
.Range("A10:S" & .Range("R65535").End(3).Row + 1).Borders(xlInsideHorizontal).Weight = xlHairline
End With
End Sub