练练手,省得生疏了。
- Sub 汇总()
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet1.[a1].CurrentRegion
- ReDim brr(1 To UBound(arr), 1 To 6)
- For i = 2 To UBound(arr)
- bh = arr(i, 8)
- If Not d.exists(bh) Then
- n = n + 1: d(bh) = n
- brr(n, 1) = arr(i, 1)
- brr(n, 2) = bh
- brr(n, 3) = arr(i, 9)
- brr(n, 4) = arr(i, 10)
- brr(n, 5) = arr(i, 11)
- brr(n, 6) = arr(i, 15)
- Else
- p = d(bh)
- If InStr(brr(p, 5), arr(i, 11)) = 0 Then brr(p, 5) = brr(p, 5) & "," & arr(i, 11)
- brr(p, 6) = brr(p, 6) + arr(i, 15)
- End If
- Next
- With Sheet2
- .[a2].Resize(1000, 10).ClearContents
- .[a2].Resize(n, 6) = brr
- End With
- End Sub
复制代码 |