|
- Sub Macro1()
- Dim arr, brr(1 To 2000, 1 To 3), d, i&, j%
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet1.Range("a1").CurrentRegion
- For i = 4 To UBound(arr) - 1
- x = Split(arr(i, 22), "、")
- s = UBound(x) + 1
- s2 = (arr(i, 21) - arr(i, 7)) / s
- s1 = arr(i, 7) + s2
- For j = 0 To UBound(x)
- If Not d.exists(x(j)) Then
- n = n + 1
- d(x(j)) = n
- brr(n, 1) = x(j)
- brr(n, 2) = IIf(j = 0, s1, s2)
- Else
- n2 = d(x(j))
- brr(n2, 2) = brr(n2, 2) + IIf(j = 0, s1, s2)
- End If
- Next
- Next
- Sheet2.Range("a3").Resize(n, 3) = brr
- End Sub
复制代码 |
|