vielen Dank Erich g. und Daniel.
..nach einigen Test habe ich festellen müssen, dass ich noch eine Erweiterung des Makros benötige.
Sub SelektivLoeschen2()
Dim arLR, arLC, arQ, rr As Long, cc As Long, ii As Long, rngR As Range, rngC As Range
With Sheets("Daten_bereinigen")
arLR = .Cells(1, 1).Resize(.Cells(.Rows.Count, 1).End(xlUp).Row)
arLC = .Cells(1, 2).Resize(.Cells(.Rows.Count, 2).End(xlUp).Row)
End With
With ActiveSheet ' Sheets("Daten")
arQ = .Cells(1, 1).CurrentRegion
For rr = 1 To UBound(arQ)
For cc = 1 To UBound(arQ, 2)
If IsArray(arLR) Then
For ii = 2 To UBound(arLR)
If Not IsEmpty(arLR(ii, 1)) Then
If arQ(rr, cc) = arLR(ii, 1) Then
If rngR Is Nothing Then
Set rngR = .Rows(rr)
Else
Set rngR = Union(rngR, .Rows(rr))
End If
End If
End If
Next ii
End If
If IsArray(arLC) Then
For ii = 2 To UBound(arLC)
If Not IsEmpty(arLC(ii, 1)) Then
If arQ(rr, cc) = arLC(ii, 1) Then
If rngC Is Nothing Then
Set rngC = .Columns(cc)
Else
Set rngC = Union(rngC, .Columns(cc))
End If
End If
End If
Next ii
End If
Next cc
Next rr
End With
If Not rngR Is Nothing Then rngR.Delete
If Not rngC Is Nothing Then rngC.Delete
End Sub
Neu:
Nach der Abarbeitung des Makro's 1 soll eine weitere Prüfung duchgeführt werden.
Zeilenprüfung:
Es sollen alle Zeilen gelöscht werden die unvollständig sind.
Anzahl der gefüllten Kopfzeile (A1-...) ≠ Anzahl der Daten
Zeile 5 und Zeile 16 enhalten weniger gefüllte Zellen wie Zeile 1.
Diese sollen gelöscht werden.
Es werden alle Zeilen mit der nachfolgenden Bedingung verbleiben.
Anzahl der Kopfzeilen = Anzahl der gefüllten Datenzellen.
Die Beispieldatei habe ich angepasst.
https://www.herber.de/bbs/user/92081.xlsx
Gruß
Lammi