- Sub test()
- Dim arr(), brr(1 To 1000, 1 To 2)
- Dim x, k, h
- Dim d
- Set d = CreateObject("scripting.dictionary")
- arr = Range("A1").CurrentRegion
- For x = 2 To UBound(arr)
- If arr(x, 1) <> "" Then
- k = k + 1
- d(Cells(x, 6).Value & Cells(x, 7).Value) = k
- End If
- Next x
- For x = 2 To UBound(arr)
- If d.Exists(arr(x, 1) & arr(x, 2)) Then
- h = d(arr(x, 1) & arr(x, 2))
- brr(h, 1) = arr(x, 3)
- brr(h, 2) = arr(x, 4)
- End If
- Next x
- Range("h2").Resize(UBound(arr), 2) = brr
- End Sub
复制代码 |