|
- Sub dsmch自定义纵向排序()
- Dim arr, brr, crr, d, i&, j&, n&
- Set d = CreateObject("scripting.dictionary")
- arr = Range("a1").CurrentRegion
- brr = Array("3A", "3B", "3C", "3D", "3E", "3F", "2G", "2H", "2J", "3G", "3H", "3J") '指定条件,不是区域。因为条件放在工作表中不方便!
- ReDim crr(1 To UBound(brr) + 1, 1 To UBound(arr, 2))
- For i = 0 To UBound(brr)
- d(brr(i)) = i + 1
- Next
- For i = 2 To UBound(arr)
- n = d(arr(i, 1))
- For j = 1 To UBound(arr, 2)
- crr(n, j) = arr(i, j)
- Next
- Next
- Range("h2").Resize(UBound(crr), UBound(crr, 2)) = crr
- End Sub
复制代码 |
|