|
楼主 |
发表于 2019-8-29 10:32
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
我用的是第一个字典的代码:
Sub test() '字典
Dim arr, dic, d
Set dic = CreateObject("scripting.dictionary")
Set d = CreateObject("scripting.dictionary")
arr = [a1].CurrentRegion
Range("a:b").Interior.Color = x1None
For i = 2 To UBound(arr)
dic(arr(i, 1)) = dic(arr(i, 1)) + 1
d(arr(i, 1)) = d(arr(i, 1)) & "|" & i
Next i
For i = 2 To UBound(arr)
If dic.exists(arr(i, 2)) And dic(arr(i, 2)) > 0 Then
ms = Split(Mid(d(arr(i, 2)), 2), "|")(0)
dic(arr(i, 2)) = dic(arr(i, 2)) - 1
Cells(Val(ms), 1).Interior.Color = vbYellow
Cells(i, 2).Interior.Color = vbYellow
d(arr(i, 2)) = Replace(d(arr(i, 2)), "|" & ms, "")
End If
Next i
End Sub |
|