|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
'当数据无序时才会用字典,给你凑了一个满足一下你的好奇心
'还有什么其它的想法吗,上个思路可以继续给你敲点代码,直到你没有想法为止,,,
Option Explicit
Sub test()
Dim arr, i, dic
Set dic = CreateObject("scripting.dictionary")
arr = [a1].CurrentRegion.Offset(1).Value
For i = 1 To UBound(arr, 1) - 1
dic(arr(i, 1)) = dic(arr(i, 1)) + 1
Next
For i = 1 To UBound(arr, 1) - 1
If dic(arr(i, 1)) = 1 Then dic(arr(i, 1)) = 0
Next
For i = UBound(arr, 1) - 1 To 1 Step -1
If dic.exists(arr(i, 1)) Then
If dic(arr(i, 1)) > 0 Then
dic(arr(i, 1)) = dic(arr(i, 1)) - 1
arr(i, 1) = arr(i, 1) & "-" & dic(arr(i, 1)) + 1
End If
End If
Next
[d2].Resize(UBound(arr, 1) - 1) = arr
End Sub |
评分
-
2
查看全部评分
-
|