我有一个包含2列的表:A和B。如果B列中的值存在,我想在A列中进行搜索。如果它不存在,那么我想在A列的最后一行中添加此值,如果它存在,则我什么都不想要。我希望对于B列中的每个值,直到它结束时都会发生这种情况。例如,如果B列中有3个值在A列中不存在,我希望将它们作为3个新行添加到A列的末尾。
这是一个例子:
之前:
之后:
有什么想法吗? 谢谢
答案 0 :(得分:0)
从您的图片中,我认为这只是一张纸,因此此代码应该对您有用:
Sub Macro1()
Dim rngA As Range, rngB As Range, MySel As Range, LastRow As Long, ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
With ws
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
Set rngA = .Range("A1:A" & LastRow)
Set rngB = .Range("B1", .Range("B" & .Rows.Count).End(xlUp))
End With
For Each cell In rngB
If IsError(Application.Match(cell.Value, rngA, 0)) Then
If MySel Is Nothing Then
Set MySel = cell
Else
Set MySel = Union(MySel, cell)
End If
End If
Next cell
If Not MySel Is Nothing Then MySel.Copy Destination:=ws.Range("A" & LastRow + 1)
End Sub