Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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...

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 :-)

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige