|
- Sub 排序()
- Dim arr, brr, crr, d As Object
- Set d = CreateObject("scripting.dictionary")
-
- For Each Rng In Range("a1", Cells(2, Cells(1, Columns.Count).End(xlToLeft).Column))
- d(Rng.Text) = d(Rng.Text)
- Next
- brr = Range("a2", Cells([a1].End(xlDown).Row, Cells(1, Columns.Count).End(xlToLeft).Column))
-
- ReDim arr(1 To UBound(brr, 1) + 1, 1 To d.Count)
- crr = d.keys
-
- For i = 1 To d.Count
- arr(1, i) = crr(i - 1)
- Next
-
- For i = 1 To UBound(arr, 2)
- For j = 1 To UBound(brr, 2)
- If brr(1, j) = arr(1, i) Then
- For k = 1 To UBound(brr, 1) - 1
- arr(k + 1, i) = brr(k + 1, j)
- Next
- End If
- Next
- Next
- [a40].Resize(UBound(arr, 1), UBound(arr, 2)) = arr
- End Sub
复制代码 |
|