本帖最后由 上清宫主 于 2013-11-22 13:04 编辑
就爱惹事
改的,看成不?
Sub ditlast()
Dim Ar1()
Set d = CreateObject("scripting.dictionary")
With Sheet5
LastRow = .Range("A65536").End(xlUp).Row
Ar1 = .Range("A2:B" & LastRow)
End With
For i = 1 To UBound(Ar1)
If Not d.Exists(Ar1(i, 1)) Then d(Ar1(i, 1)) = Ar1(i, 2) '如果没有重复的,if …… then可省,直接赋值就成了
Next
With Sheet3
LastRow2 = .Range("A65536").End(xlUp).Row
Ar1 = .Range([H2], "H" & LastRow2)
End With
For i = 1 To UBound(Ar1)
s$ = ""
For Each tmp In Split(Ar1(i, 1), "-")
If d.Exists(tmp) Then s = s & " " & d(tmp)
Next
Ar1(i, 1) = Mid(s, 2)
Next i
Sheet3.[Q2].Resize(UBound(Ar1), 1) = Ar1
End Sub