|
发表于 2012-1-20 16:56
|
显示全部楼层
本楼为最佳答案
本帖最后由 liuts 于 2012-1-20 20:35 编辑
- Option Explicit
- Sub liuts()
- Dim arr, sr$, s$, i%, x As Byte, dic As Object, srg$, Ar, j%, brr()
- Set dic = CreateObject("scripting.dictionary")
- arr = Range("b4:b7")
- ReDim brr(1 To UBound(arr))
- For j = 1 To UBound(arr)
- sr = arr(j, 1)
- x = Len(sr): srg = "": dic.RemoveAll
- For i = 1 To x
- s = Mid(sr, i, 1)
- If Not dic.Exists(s) Then
- dic.Add s, Array(s, 0)
- Else
- Ar = dic(s)
- Ar(1) = Ar(1) + 1
- Ar(0) = Right(s + Ar(1), 1)
- dic(s) = Ar
- End If
- srg = srg & dic(s)(0)
- Next
- brr(j) = srg
- Next
- Range("c4").Resize(UBound(brr)) = Application.Transpose(brr)
- End Sub
复制代码 前期绑定换成后期绑定就可以了 |
|