Sub PL16()
Dim d As Object, d2 As Object
Dim data, tam
Dim i As Long, k As Long, j As Long
Dim sothua As String, ma As String
Set d = CreateObject("scripting.Dictionary")
Set d2 = CreateObject("scripting.Dictionary")
data = Sheet1.Range("A2:R" & Sheet1.Range("A65536").End(xlUp).Row)
ReDim tam(1 To UBound(data), 1 To 7)
d.CompareMode = vbTextCompare
For i = 1 To UBound(data)
ma = data(i, 2) & data(i, 14)
If sothua <> data(i, 14) Then
d.RemoveAll
d2.RemoveAll
k = k + 1
sothua = data(i, 14)
tam(k, 1) = k
tam(k, 2) = data(i, 14)
tam(k, 3) = tam(k, 3) + 1
tam(k, 6) = tam(k, 6) + data(i, 6)
If data(i, 13) <> 1 Then
If Not d2.exists(data(i, 13)) Then
d2.Add data(i, 13), ""
tam(k, 5) = tam(k, 5) + 1
End If
End If
If Not d.exists(ma) Then
d.Add ma, ""
tam(k, 4) = tam(k, 4) + 1
End If
Else
If data(i, 13) <> 1 Then
If Not d2.exists(data(i, 13)) Then
d2.Add data(i, 13), ""
tam(k, 5) = tam(k, 5) + 1
End If
End If
If Not d.exists(ma) Then
d.Add ma, ""
tam(k, 4) = tam(k, 4) + 1
End If
tam(k, 3) = tam(k, 3) + 1
tam(k, 6) = tam(k, 6) + data(i, 6)
End If
Next
For j = 1 To k
tam(k + 1, 1) = Sheet5.[n4]
tam(k + 1, 2) = tam(k + 1, 2) + 1
tam(k + 1, 3) = tam(k + 1, 3) + tam(j, 3)
tam(k + 1, 4) = tam(k + 1, 4) + tam(j, 4)
tam(k + 1, 5) = tam(k + 1, 5) + tam(j, 5)
tam(k + 1, 6) = tam(k + 1, 6) + tam(j, 6)
Next
Range("A7").Resize(10000, 7).Clear
Range("A7").Resize(k + 1, 7) = tam
Range("A7").Resize(k + 1, 7).Borders.ColorIndex = 1
End Sub