|
- Sub Macro1()
- Dim arr, brr, crr, d, d2,i&,k%,j%,zf$$
- Set d = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- arr = Range("a1").CurrentRegion
- brr = Range("i3:i" & Range("i65536").End(xlUp).Row)
- ReDim crr(1 To UBound(brr), 1 To 2)
- For i = 2 To UBound(arr)
- d(arr(i, 1)) = i
- Next
- For i = 1 To UBound(brr) - 1
- x = Split(brr(i, 1), "-"): p = ""
- For j = 0 To UBound(x)
- n = d(Val(x(j))) + 1
- For k = 2 To UBound(arr, 2)
- d2(arr(n, k)) = d2(arr(n, k)) + 1
- If d2(arr(n, k)) = UBound(x) + 1 Then p = p & "," & arr(n, k)
- Next
- Next
- zf = Mid(p, 2)
- crr(i, 1) = zf
- crr(i, 2) = UBound(Split(zf, ",")) + 1
- d2.RemoveAll
- Next
- Range("j3").Resize(UBound(crr), 2) = crr
- End Sub
复制代码 |
|