Schau dir das mal an. Musst nur die Tabellennamen und Spalten anpassen und nen Button einauen, der Call CleanDupes ausführt.
Code:Sub CleanDupes() Dim targetRange As Range, searchRange As Range Dim targetArray Dim x As Long 'Update these 4 lines if your target and search ranges change Dim TargetSheetName As String: TargetSheetName = "TabelleA" Dim TargetSheetColumn As String: TargetSheetColumn = "A" Dim SearchSheetName As String: SearchSheetName = "TabelleB" Dim SearchSheetColumn As String: SearchSheetColumn = "A" 'Load target array With Sheets(TargetSheetName) Set targetRange = .Range(.Range(TargetSheetColumn & "1"), _ .Range(TargetSheetColumn & Rows.Count).End(xlUp)) targetArray = targetRange End With 'Get Search Range With Sheets(SearchSheetName) Set searchRange = .Range(.Range(SearchSheetColumn & "1"), _ .Range(SearchSheetColumn & Rows.Count).End(xlUp)) End With If IsArray(targetArray) Then For x = UBound(targetArray) To 1 Step -1 If Application.WorksheetFunction.CountIf(searchRange, _ targetArray(x, 1)) Then targetRange.Cells(x).EntireRow.Delete End If Next Else If Application.WorksheetFunction.CountIf(searchRange, targetArray) Then targetRange.EntireRow.Delete End If End If End Sub




Zitieren