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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert