So löschen sie leerzeilen in vba (mit beispielen)
Sie können in VBA die folgenden Methoden verwenden, um Leerzeilen zu entfernen:
Methode 1: Leere Zeilen in einem bestimmten Bereich entfernen
 Sub DeleteEmptyRowsInRange()
    Sheets(" Sheet1 ").Select
    Range(" A1:B10 ").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Dieses spezielle Makro entfernt alle leeren Zeilen aus dem Bereich A1:B10 von Sheet1 .
Methode 2: Leere Zeilen im gesamten Blatt löschen
 Sub DeleteEmptyRowsInSheet()
  
   'turn off screen updating for faster performance
    Application.ScreenUpdating = False
  
    Dim i As Long
    With ActiveSheet
    For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
        If WorksheetFunction.CountA(.Rows(i)) = 0 Then
            ActiveSheet.Rows(i).Delete
       End If
    Next
    End With
  
    'turn screen updating back on
    Application.ScreenUpdating = True
  
End Sub
Dieses spezielle Makro löscht alle leeren Zeilen aus dem gesamten aktiven Blatt.
Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.
Beispiel 1: Leerzeilen in einem bestimmten Bereich entfernen
Nehmen wir an, wir haben den folgenden Datensatz in Excel, der Informationen über verschiedene Basketballspieler enthält:

Wir können das folgende Makro erstellen, um alle Leerzeilen aus dem Bereich A1:B10 auf diesem Blatt zu entfernen:
 Sub DeleteEmptyRowsInRange()
    Sheets(" Sheet1 ").Select
    Range(" A1:B10 ").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Sobald wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass alle Leerzeilen aus dem von uns angegebenen Bereich entfernt wurden.
Beispiel 2: Leere Zeilen in einem gesamten Blatt löschen
Nehmen wir an, wir haben den folgenden Datensatz in Excel, der Informationen über verschiedene Basketballspieler enthält:

Wir können das folgende Makro erstellen, um alle Leerzeilen aus dem gesamten Blatt zu entfernen:
 Sub DeleteEmptyRowsInSheet()
  
   'turn off screen updating for faster performance
    Application.ScreenUpdating = False
  
    Dim i As Long
    With ActiveSheet
    For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
        If WorksheetFunction.CountA(.Rows(i)) = 0 Then
            ActiveSheet.Rows(i).Delete
       End If
    Next
    End With
  
    'turn screen updating back on
    Application.ScreenUpdating = True
  
End Sub
Sobald wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass alle Leerzeilen aus dem gesamten Blatt entfernt wurden.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
 VBA: So löschen Sie Zeilen basierend auf dem Zellenwert
 VBA: So löschen Sie ein Blatt, wenn der Name bestimmten Text enthält
 VBA: So löschen Sie Dateien