看看结果对不对吧!{:2112:}
- Sub test()
- Dim d As Object
- Dim ar, br
- Dim i As Long
- Set d = CreateObject("scripting.dictionary")
- ar = Sheets(1).Cells(1, 1).CurrentRegion
- br = Sheets("数据").Cells(1, 1).CurrentRegion
- For i = 2 To UBound(br)
- If Not d.exists(br(i, 1)) Then d.Add br(i, 1), i
- Next i
- For i = 2 To UBound(ar)
- If d.exists(ar(i, 1)) Then
- ar(i, 2) = br(d(ar(i, 1)), 2)
- ar(i, 3) = br(d(ar(i, 1)), 3)
- ar(i, 4) = br(d(ar(i, 1)), 4)
- End If
- Next i
- With Sheets(1).Cells(1, 1)
- .Resize(Rows.Count, 4).ClearContents
- .Resize(i - 1, 4) = ar
- End With
- End Sub
复制代码
|