|
发表于 2013-4-9 20:57
|
显示全部楼层
本楼为最佳答案
本帖最后由 zjdh 于 2013-4-9 20:59 编辑
- Sub TEST()
- For I = 1 To Cells(65536, 1).End(3).Row
- Set D = CreateObject("scripting.dictionary")
- S = Split(Cells(I, 1), "-")
- For J = 0 To UBound(S)
- If Not D.exists(S(J)) Then
- D(S(J)) = 0
- Else
- D(S(J)) = D(S(J)) + 1
- End If
- Next
- K = D.KEYS
- For J = 0 To UBound(K)
- If D(K(J)) <> 0 Then D(K(J)) = D(K(J)) + 1
- Next
- For L = UBound(S) To 0 Step -1
- If D(S(L)) > 0 Then
- N = S(L)
- S(L) = S(L) & "." & D(S(L))
- D(N) = D(N) - 1
- End If
- Next
- Cells(I, 1) = Join(S, "-")
- Next
- End Sub
复制代码 |
|