鄂龙蒙 发表于 2015-5-10 22:25 
谢谢您的帮助!
再请教:在输出前,数组的首列就是"省别"直接在数组里排序的代码怎么写?
请测试
- Sub test()
- Dim d As Object, ar, br(), i&, j&
- Set d = CreateObject("scripting.dictionary")
- With Sheets("顺序")
- ar = .Range("B3:C" & .[B65536].End(xlUp).Row)
- End With
- For i = 1 To UBound(ar)
- d(ar(i, 2)) = ar(i, 1)
- Next i
- With Sheets("年度汇总")
- ar = .[B3].CurrentRegion.Offset(1)
- ReDim br(1 To UBound(ar) - 1, 1 To UBound(ar, 2))
- For j = 1 To UBound(ar, 2)
- br(1, j) = ar(1, j)
- br(UBound(br), j) = ar(UBound(br), j)
- Next j
- For i = 2 To UBound(br) - 1
- br(i, 1) = ar(i, 1)
- If d.exists(ar(i, 2)) Then
- For j = 2 To UBound(br, 2)
- br(d(ar(i, 2)) + 1, j) = ar(i, j)
- Next j
- End If
- Next i
- .[B3].Resize(UBound(br), UBound(br, 2)) = br
- End With
- Set d = Nothing
- End Sub
复制代码
按指定的次序排序.zip
(13.54 KB, 下载次数: 20)
|