AW: alle Zeilen ohne Inhalt löschen
20.12.2017 21:17:05
Daniel
Hi
da sind jetzt alle Zeilen leer, bis auf die erste.
müssen alle Zellen einer Zeile überprüft werden oder reicht es aus, diese Prüfung in einer Spalte zu vorzunehmen?
Grundsätlich löst du solche Zeilen-Löschen-Aufgaben in deiner Excelversion am besten so:
1. in einer Hilfsspalte am Tabellenende per Formel alle Zeilen die gelöscht werden sollen mit einer Zahl kennzeichnen und alle, die stehen bleiben müssen, mit einem Text (zb. 1 und "")
2. über Inhalte-Auswählen kannst du dann die Zellen selektieren, die die 1 haben und diese Zeilen löschen.
geht mit VBA dann so:
With AcitveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(COUNTA(RC1:RC[-1])=0,1,"""")"
If Worksheetfunction.Sum(.Cells) > 0 Then
.SpecialCells(xlcelltypeformulas, 1).EntireRow.Delete
end if
End With
End With
bei größerern Datenmengen würde es sich lohnen, vor dem löschen noch die Liste nach der Hilfsspalte zu sortieren, weil das Löschen schneller geht, wenn die zu löschenden Zeilen einen lückenlosen Zellblock bilden.
Gruß Daniel