probier mal diesen Code...
22.03.2017 15:08:51
robert
Sub A_B()
Dim EndeA As Integer, EndeB As Integer, ZeileA As Integer, ZeileB As Integer, ZeileC As _
Integer, Gefunden As Range
Application.ScreenUpdating = False ' Abschalten Bildschirmaktualisierung
Columns(5).Clear
EndeA = Range("A1").End(xlDown).Row
EndeB = Range("B1").End(xlDown).Row
ZeileC = 1
If EndeA > EndeB Then
Cells(1, 4) = "Fehlt in B"
For ZeileA = 1 To EndeA
With Range(Cells(1, 2), Cells(EndeB, 2))
Set Gefunden = .Find(Cells(ZeileA, 1), , xlValues, xlWhole)
End With
If Gefunden Is Nothing Then
Cells(ZeileC, 5) = Cells(ZeileA, 1)
ZeileC = ZeileC + 1
End If
Next ZeileA
Else
Cells(1, 4) = "Fehlt in A"
For ZeileB = 1 To EndeB
With Range(Cells(1, 1), Cells(EndeA, 1))
Set Gefunden = .Find(Cells(ZeileB, 2), , xlValues, xlWhole)
End With
If Gefunden Is Nothing Then
Cells(ZeileC, 5) = Cells(ZeileB, 2)
ZeileC = ZeileC + 1
End If
Next ZeileB
End If
Application.ScreenUpdating = True ' Einschalten Bildschirmaktualisierung
End Sub
Gruß
robert