|
- Sub Macro2()
- Dim arr, brr, d, i&, j%, zf$, zf2$
- Set d = CreateObject("scripting.dictionary")
- arr = Range("a4").CurrentRegion
- brr = Sheet2.Range("a1").CurrentRegion
- For i = 4 To UBound(arr)
- zf = arr(i, 1) & "," & arr(i, 2)
- d(zf) = i
- Next
- For j = 3 To UBound(arr, 2)
- zf = arr(1, j) & "," & arr(2, j)
- d(zf) = j
- Next
- For i = 2 To UBound(brr)
- zf = brr(i, 1) & "," & brr(i, 2)
- zf2 = brr(i, 3) & "," & brr(i, 4)
- If d.exists(zf) And d.exists(zf2) Then GoTo line1
- If Not d.exists(zf) Then
- l = Range("iv1").End(xlToLeft).Column + 1 '列
- Cells(1, l) = brr(i, 1)
- Cells(2, l) = brr(i, 2)
- Else
- l = d(zf)
- End If
- If Not d.exists(zf2) Then
- h = Range("a65536").End(xlUp).Row + 1
- Cells(h, 1) = brr(i, 3)
- Cells(h, 2) = brr(i, 4)
- Else
- h = d(zf2)
- End If
- Cells(h, l) = brr(i, 5)
- d(zf) = l
- d(zf2) = h
- line1:
- Next
- End Sub
复制代码 |
|