本帖最后由 just2seeusmile 于 2016-3-23 13:47 编辑
- Sub order()
- Dim t$, a, b, i%, j%, n%, d, x$
- t = Sheets(1).Range("A2").Value
- a = Split(t, " ")
- Set d = CreateObject("Scripting.Dictionary")
- For i = 0 To UBound(a)
- If d.Exists(a(i)) = 0 Then
- n = 0
- For j = 0 To UBound(a)
- If a(j) = a(i) Then
- n = n + 1
- End If
- Next j
- d(a(i)) = n
- End If
- Next i
- b = Application.Transpose(Array(d.keys, d.items))
- For i = 1 To UBound(b, 1) - 1
- For j = i + 1 To UBound(b, 1)
- If b(j, 2) > b(i, 2) Then
- temp1 = b(j, 1): temp2 = b(j, 2)
- b(j, 1) = b(i, 1): b(j, 2) = b(i, 2)
- b(i, 1) = temp1: b(i, 2) = temp2
- End If
- Next j
- Next i
- x = b(1, 1)
- For i = 2 To UBound(b, 1)
- x = x + " " + b(i, 1)
- Next i
- Sheets(1).Range("B2").Value = x
- End Sub
复制代码 |