- Sub t()
- Dim arr(), brr(), i&, d As Object, cnt%
- arr = Range("A3").CurrentRegion.Value
- Set d = CreateObject("scripting.dictionary")
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 1)) Then
- cnt = cnt + 1
- d(arr(i, 1)) = cnt
- ReDim Preserve brr(1 To 27, 1 To cnt)
- End If
- brr(arr(i, 2), d(arr(i, 1))) = brr(arr(i, 2), d(arr(i, 1))) + 1
- Next
- Range("G4").Resize(UBound(brr, 2), 27) = Application.Transpose(brr)
- End Sub
复制代码 VBA的 |