Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Delete Blank Rows

Forumthread: Delete Blank Rows

Delete Blank Rows
26.05.2015 11:30:11
Larissa
Hi,
ich habe folgendes Problem:
Ich habe mehrere Mappen in einer Excel-Datei und möchte nun in allen Mappen die leeren Zeilen löschen.
Sub DeleteBlankRows1()
'Hilfsvariablen
Dim ws As Worksheet
' Alle vorhandenen Arbeitsblätter durchlaufen
For Each ws In Worksheets
Dim rng As Range
Set rng = Range("A:A").SpecialCells(xlCellTypeBlanks)
rng.EntireRow.Delete
Next
End Sub

Scheinbar macht er das für die ersten sechs Mappen, aber die letzte Mappe wird nicht aufgerufen. Kann es damit zusammenhängen, dass die Mappe ein Umlaut besitzt? Eher nicht, oder?

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Delete Blank Rows
26.05.2015 11:38:40
Hajo_Zi
ich würde vermuten du löscht falsch?
Alles was in A leer ist und nicht Leerzeilen?
Nur wenige sehen Deine Datei.

AW: Delete Blank Rows
26.05.2015 13:03:22
Larissa

Dim ws As Worksheet
' Alle vorhandenen Arbeitsblätter durchlaufen
For Each ws In Worksheets
lz = ws.Cells(Rows.Count, 1).End(xlUp).Rows.Row
'** Durchlauf aller Zeilen
For t = lz To 2 Step -1 'Zählung rückwärts
'Abfragen, ob in der ersten Spalte das Wort "AUS" "MUST" oder mit "S" (anfaengt) vorkommt
If IsEmpty(Cells(t, 1).Value) Then
Rows(t).Delete Shift:=xlUp
End If
Next t
Next
Jetzt wechselt er aber nicht durch die Mappen?!

Anzeige
AW: Delete Blank Rows
26.05.2015 13:15:11
Daniel
Hi
du musst deinem Programm auch sagen, dass es auf dem Worksheet ws arbeiten soll und nicht nur auf dem aktiven Blatt.
Dim ws As Worksheet
' Alle vorhandenen Arbeitsblätter durchlaufen
For Each ws In Worksheets
lz = ws.Cells(Rows.Count, 1).End(xlUp).Rows.Row
'** Durchlauf aller Zeilen
For t = lz To 2 Step -1 'Zählung rückwärts
'Abfragen, ob in der ersten Spalte das Wort "AUS" "MUST" oder mit "S" (anfaengt) vorkommt
If IsEmpty(ws.Cells(t, 1).Value) Then
ws.Rows(t).Delete Shift:=xlUp
End If
Next t
Next
den gleichen Fehler hast du auch schon bei deinem ersten Code gemacht.
Ausserdem brauchst du hier noch eine Abfrage, ob überhaupt leere zellen vorhanden sind, weil sonst dein SpecialCells mit einem Fehler abbricht, bzw du unterdrückts den Fehlerabbruch:
Sub DeleteBlankRows1()
Dim ws As Worksheet
On Error Resume Next
For Each ws In Worksheets
ws.Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Next
On Error GoTo 0
End Sub
gruß Daniel

Anzeige
Set rng = ws.Range("A:A").... owT
26.05.2015 12:15:28
Rudi

AW: Set rng = ws.Range("A:A").... owT
26.05.2015 12:56:27
Larissa
Jetzt kommt die Meldung keine Zellen gefunden..?
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18