谢谢谢谢,问题已经解决, 在里我也希望论坛上大虾帮忙解释一下这个排序代码的编程思路,帮助我等新人学习编程、理解编程方法 我在许多地方都能用到这类排序的原理,理解以后希望能自己编辑一个类似的自定义排序函数 Sub 唯一值() Dim d As Object, rng, i%, j%, k%, arr(1 To 10000, 1 To 4) [j2:j65536] = "" Set d = CreateObject("scripting.Dictionary") rng = Range("A2:D" & [a65536].End(xlUp).Row) Application.ScreenUpdating = False For i = 1 To UBound(rng) For j = 1 To 4 If rng(i, j) <> "" Then If d(rng(i, j)) = "" Then k = k + 1 arr(k, 1) = rng(i, j): arr(k, 2) = Left(rng(i, j), 1) arr(k, 3) = Split(Mid(rng(i, j), 2), "-")(0) arr(k, 4) = Split(Mid(rng(i, j), 2), "-")(1) d(rng(i, j)) = k End If End If Next Next [j2].Resize(k, 4) = arr [j2].Resize(k, 4).Sort Key1:=[k2], Key2:=[l2], Key3:=[m2] [k:m] = "" Application.ScreenUpdating = True Set d = Nothing End Sub
[此贴子已经被作者于2008-4-25 22:23:56编辑过] |