本帖最后由 1055751654 于 2020-1-6 23:42 编辑
Option Explicit
Sub 玩玩()
Dim d, arr, i%, ii%, c, dic, arr1
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set d = CreateObject("Scripting.Dictionary")
arr = [b2].CurrentRegion
For i = 3 To UBound(arr)
d(arr(i, 1)) = arr(i, 2) & "|" & arr(i, 3)
Next
For ii = 3 To [k65536].End(xlUp).Row
Cells(ii, "n") = Application.Index(Split(d(Cells(ii, "k").Value), "|"), 0, 1)
Cells(ii, "o") = Application.Index(Split(d(Cells(ii, "k").Value), "|"), 0, 2)
Next
Set dic = CreateObject("Scripting.Dictionary")
arr1 = [k2].CurrentRegion
For i = 3 To UBound(arr1)
dic(arr1(i, 1)) = arr1(i, 2) & "|" & arr1(i, 3)
Next
For ii = 3 To [b65536].End(xlUp).Row
Cells(ii, "e") = Application.Index(Split(dic(Cells(ii, "b").Value), "|"), 0, 1)
Cells(ii, "f") = Application.Index(Split(dic(Cells(ii, "b").Value), "|"), 0, 2)
Next
Set d = Nothing
Set dic = Nothing
Application.DisplayAlerts = False
Application.ScreenUpdating = False
End Sub
|