|
发表于 2017-2-18 20:57
|
显示全部楼层
本楼为最佳答案
应该是互补合并吧!
- Sub 合并()
- Dim d As Object
- Dim i&, j&, n&, n1&, arr, brr, m&
- Set d = CreateObject("Scripting.Dictionary")
- With Sheet2
- n = .Cells(.Rows.Count, 1).End(xlUp).Row
- arr = .Range("B2:H" & n)
- End With
- With Sheet3
- n1 = .Cells(.Rows.Count, 1).End(xlUp).Row
- brr = .Range("B2:H" & n1)
- End With
- With Sheet1
- For i = 1 To n - 1
- If Not d.exists(arr(i, 1)) Then
- m = m + 1
- d.Add arr(i, 1), m
- .Cells(m + 1, 1) = m
- For j = 2 To 8
- .Cells(m + 1, j) = arr(i, j - 1)
- Next
- End If
- Next
- For i = 1 To n1 - 1
- If Not d.exists(brr(i, 1)) Then
- m = m + 1
- d.Add brr(i, 1), m
- .Cells(m + 1, 1) = m
- For j = 2 To 8
- .Cells(m + 1, j) = brr(i, j - 1)
- Next
- Else
- x = d(brr(i, 1))
- For j = 2 To 8
- If .Cells(x + 1, j) = "" Then .Cells(x + 1, j) = brr(i, j - 1)
- Next
- End If
- Next
- End With
- End Sub
复制代码 |
评分
-
查看全部评分
|