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