|
Sub test()
Dim arra, arrb, a, d
a = Cells(60000, 1).End(xlUp).Row
arra = Cells(1, 1).Resize(a)
Set d = CreateObject("scripting.dictionary")
For i = 1 To a
arrb = VBA.Split(arra(i, 1), "-")
arra(i, 1) = ""
For j = 0 To UBound(arrb)
d(arrb(j)) = d(arrb(j)) + 1
If d(arrb(j)) > 1 Then
arra(i, 1) = arra(i, 1) & arrb(j) & "." & d(arrb(j)) - 1 & "-"
Else
arra(i, 1) = arra(i, 1) & arrb(j) & "-"
End If
Next j
Erase arrb
arra(i, 1) = Left(arra(i, 1), Len(arra(i, 1)) - 1)
Next i
Cells(1, 4).Resize(a) = arra
End Sub
这是我写的 你也可以借鉴一下 |
|