Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: leere Zeilen löschen

leere Zeilen löschen
18.04.2016 16:41:51
Mappen
Hallo,
ich habe folgendes Problemchen. Ich will alle leeren Zeilen eines Dokuments löschen. Allerdings nur, wenn auch alle Spalten leer sind.
Bisher habe ich diesen Code:

Dim lngSpalte As Long
lngSpalte = 1
For a = ActiveSheet.Cells(Rows.Count, lngSpalte).End(xlUp).Row To 1 Step -1
If ActiveSheet.Cells(a, 1).Value = "" Then
Rows(a).Delete shift:=xlUp
End If
Next a

Hier wird aber nur die erste Spalte geprüft und wenn diese leer ist, dann gelöscht.
Kann mir jemand weiter helfen? Nicht schwer, aber ich schaff´s trotzdem nicht...

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: leere Zeilen löschen
18.04.2016 16:56:57
Daniel
Hi
zum löschen von Zeilen immer so vorgehen (ab Excel 2007)
1. in der ersten freien Spalte am Tabellenende eine Formel eintragen, welche alle Zellen, die gelöscht werden sollen mit 0 kennzeichnet und alle die stehenbleiben müssen mit der aktuellen Zeilennummer.
2. Schreibe in die Überschriftenzeile der Hilfsspalte ebenfalls die 0
3. lösche dann alle Zeilen mit 0 mit Hilfe der Menüfunktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN.
4. lösche die Hilfsspalte.
die Formel wäre in deinem Fall
=Wenn(Anzahl2(A1:Z1)=0;0;Zeile())
geht natürlich auch als makro, der Code führt genau die oben beschriebenen Schritte aus:
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(CountA(RC1:RC[-1])=0,0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
.ClearContents
End With
End With
Gruß Daniel

Anzeige
AW: leere Zeilen löschen
18.04.2016 18:41:46
Hajo_Zi

Sub Leerzeilen_loeschen()
'   alle Leerzeilen löschen
Dim LoI As Long
Dim RaZeile As Range
Application.ScreenUpdating = False
For LoI = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Application.WorksheetFunction.CountA(Rows(LoI))  ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If Rows(LoI).SpecialCells(xlCellTypeBlanks).Count = ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If RaZeile Is Nothing Then
Set RaZeile = Rows(LoI)
Else
Set RaZeile = Union(RaZeile, Rows(LoI))
End If
End If
End If
Next LoI
If Not RaZeile Is Nothing Then RaZeile.Delete
Application.ScreenUpdating = True
Set RaZeile = Nothing
End Sub
Sub Leerzeilen_loeschen_Selection()
' alle Leerzeilen löschen im markierten Bereich
Dim LoI As Long
Dim RaZeile As Range
For LoI = Range(Mid(Selection.Address, InStr(1, Selection.Address, ":") + 1)).Row To Range( _
Selection.Address).Row Step -1
If Application.WorksheetFunction.CountA(Rows(LoI))  ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If Rows(LoI).SpecialCells(xlCellTypeBlanks).Count = ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If RaZeile Is Nothing Then
Set RaZeile = Rows(LoI)
Else
Set RaZeile = Union(RaZeile, Rows(LoI))
End If
End If
End If
Next LoI
If Not RaZeile Is Nothing Then RaZeile.Delete
Set RaZeile = Nothing
End Sub


Anzeige
AW: leere Zeilen löschen
19.04.2016 15:44:42
Mappen
Super, hat geklappt!
Vielen Dank euch beiden! Dieses Forum erspart mir viele Nerven :-)

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige