|
发表于 2016-7-5 09:34
|
显示全部楼层
本楼为最佳答案
本帖最后由 dsmch 于 2016-7-5 09:40 编辑
- Sub Macro1()
- Dim arr, brr, crr, d, i&, j%
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet1.Range("a1:j" & Sheet1.Range("a65536").End(xlUp).Row)
- brr = Sheet2.Range("a1").CurrentRegion
- crr = Sheet3.Range("a1").CurrentRegion
- s = 1
- For i = 2 To UBound(arr)
- zf = arr(i, 1) & "," & arr(i, 2)
- If Not d.exists(zf) Then s = s + 1: d(zf) = s
- Next
- For i = 2 To UBound(brr)
- zf = brr(i, 1) & "," & brr(i, 2)
- If d.exists(zf) Then
- n = d(zf)
- For j = 4 To 7
- If brr(i, j) <> "" And arr(n, j) = "" Then arr(n, j) = brr(i, j)
- Next
- End If
- Next
- For i = 2 To UBound(crr)
- zf = crr(i, 1) & "," & crr(i, 2)
- If d.exists(zf) Then
- n = d(zf)
- For j = 8 To 10
- If crr(i, j) <> "" And arr(n, j) = "" Then arr(n, j) = crr(i, j)
- Next
- End If
- Next
- Sheet4.Range("a1").Resize(UBound(arr), UBound(arr, 2)) = arr
- Sheet2.Rows(1).Copy Sheet4.[a1]
- End Sub
复制代码 |
|