Option Explicit
'
Sub abc()
Dim a, i, j, t, m, pos, d(1)
a = [a1].CurrentRegion.Resize(, 7).Value
pos = Array(2, 4, 5)
For i = 0 To UBound(d)
Set d(i) = CreateObject("scripting.dictionary")
Next
For i = 2 To UBound(a)
For j = 0 To UBound(pos)
t = t & "," & a(i, pos(j))
Next
d(0)(t) = d(0)(t) + a(i, 7)
If Not d(1).exists(t) Then d(1)(t) = i
t = vbNullString
Next
For Each i In d(1).keys
m = m + 1
For j = 1 To UBound(a, 2) - 1
a(m, j) = a(d(1)(i), j)
Next
a(m, j) = d(0)(i)
Next
[i2].Resize(m, 7) = a
End Sub
'
Sub abc()
Dim a, i, j, t, m, pos, d(1)
a = [a1].CurrentRegion.Resize(, 7).Value
pos = Array(2, 4, 5)
For i = 0 To UBound(d)
Set d(i) = CreateObject("scripting.dictionary")
Next
For i = 2 To UBound(a)
For j = 0 To UBound(pos)
t = t & "," & a(i, pos(j))
Next
d(0)(t) = d(0)(t) + a(i, 7)
If Not d(1).exists(t) Then d(1)(t) = i
t = vbNullString
Next
For Each i In d(1).keys
m = m + 1
For j = 1 To UBound(a, 2) - 1
a(m, j) = a(d(1)(i), j)
Next
a(m, j) = d(0)(i)
Next
[i2].Resize(m, 7) = a
End Sub
菠萝蜜


塔克林