Sub klkl()
Dim dic As Object, i As Integer, arr, brr, n As Integer
Set dic = CreateObject("scripting.dictionary")
With Sheet8
arr = .Range("a1").CurrentRegion
ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
For i = 2 To UBound(arr)
If dic(arr(i, 1)) = False Then
n = n + 1
dic(arr(i, 1)) = n
brr(n, 1) = arr(i, 1)
brr(n, 2) = arr(i, 2)
brr(n, 3) = arr(i, 3)
brr(n, 4) = arr(i, 4)
Else
k = dic(arr(i, 1))
brr(k, 2) = brr(k, 2) + arr(i, 2)
brr(k, 4) = brr(k, 4) + arr(i, 4)
End If
Next i
.[a17].Resize(n, 4) = brr
End With
End Sub |