|
- Sub Macro1()
- Dim arr, brr, d, d2, i&, k%, j%, kk%, l%, s&, s2&
- Set d = CreateObject("scripting.dictionary")
- ReDim brr(1 To 20000, 1 To 7)
- [a3:g65536] = ""
- For k = 1 To 2
- bj = Sheets(k).Name: s = 0
- arr = Sheets(k).Range("a2").CurrentRegion
- For i = 2 To UBound(arr)
- If Not d.exists(arr(i, 5)) Then
- d(arr(i, 5)) = i
- Else
- d(arr(i, 5)) = d(arr(i, 5)) & "," & i
- End If
- Next
- For j = 1 To [i1]
- n = Application.Large(d.keys, j)
- x = Split(d(n), ",")
- For kk = 0 To UBound(x)
- s = s + 1
- brr(s, 1) = bj
- For l = 1 To UBound(arr, 2)
- brr(s, l + 1) = arr(x(kk), l)
- Next
- Next
- Next
- s2 = Range("a65536").End(xlUp).Row + 1
- Cells(s2, 1).Resize(s, 7) = brr
- d.RemoveAll
- Next
- End Sub
复制代码 |
|