Leere Zeilen in Exceltabellen löschen

Beim Editieren von großen Exceldateien kommt es relativ häufig vor, dass Sie innerhalb einer Tabelle mehrere leere Zeilen erzeugen oder vorfinden. In der Regel werden Sie einzelne leere Zeilen nicht von Hand löschen, aber auch nicht stehen lassen wollen. Sie können Leerzeilen zwar über den Autofilter oder die Listenfunktion ausblenden, aber diese Methode nur eine Notlösung, die Sie möglichst vermeiden sollten, da dadurch die Leerzeichen lediglich ausgeblendet werden. Sobald Sie eine andere Filterauswahl treffen, werden die Leerzeilen wieder angezeigt.

Mit einem kleinen Makro können Sie auch große Exceltabellen komfortabel bereinigen und Leerzeilen endgültig löschen. Zeilen in denen mindestens eine Zelle befüllt ist, werden nicht gelöscht.

Achtung: Auch reine “Leerzeichen” die über die “Leertaste” erzeugt werden und allein in einzelnen Zellen stehen gelten als Wert und werden daher nicht gelöscht! Optisch sieht diese Zeile für Sie natürlich trotzdem aus als wäre sie leer.

Das unten stehende Makro können Sie im VBA-Editor in ein Modul einfügen und anschließend ausführen. Es wird dadurch das aktive Tabellenblatt der aktuellen Arbeitsmappe durchsucht und auf Leerzeilen durchsucht. Alle Leerzeilen werden daraufhin automatisch gelöscht.

Wichtig: Testen Sie die Funktionsweise eines Makros immer mit einer Kopie Ihrer Daten für den Fall dass es bei der Ausführung zu einem Problem kommt. Speichern Sie die Datei anschließend nur ab, wenn sie das Resultat geprüft haben und keinen Fehler finden konnten. Es empfiehlt sich immer eine Kopie der Originaldaten abzuspeichern.

Sub LeereZeilenLoeschen()
   Dim i As Long

   Application.ScreenUpdating = False
  
   For i = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
      If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
        Rows(i).Delete
      End If
      If i Mod 100 = 0 Then
        Application.StatusBar = i
      End If
   Next i
  
   Application.StatusBar = False
   Application.ScreenUpdating = True
End Sub

 

 

Schreibe einen Kommentar

*