- Sub 合并()
- Dim d, ar, br(), m%, sa, i, j, s
- Set d = CreateObject("Scripting.Dictionary")
- sa = Array(22, 23, 25)
- Sheet3.[A2:AH10000] = Empty
- ar = Range("A1").CurrentRegion
- For i = 2 To UBound(ar)
- s = ar(i, 19) & ar(i, 20) & ar(i, 21) & ar(i, 34)
- If d(s) = "" Then
- m = m + 1
- ReDim Preserve br(1 To 34, 1 To m)
- d(s) = m
- For j = 1 To 34
- br(j, m) = ar(i, j)
- Next
- Else
- For j = 0 To 2
- br(sa(j), d(s)) = br(sa(j), d(s)) + ar(i, sa(j))
- Next
- End If
- Next
- Sheet3.[A2].Resize(m, 34) = Application.Transpose(br)
- Set d = Nothing
- End Sub
复制代码 |