Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Inhaltsverzeichnis

Delete Blank Rows

Delete Blank Rows
26.05.2015 09: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?

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

Betreff
Datum
Anwender
Anzeige
AW: Delete Blank Rows
26.05.2015 09: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 11: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 11: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 10:15:28
Rudi

AW: Set rng = ws.Range("A:A").... owT
26.05.2015 10:56:27
Larissa
Jetzt kommt die Meldung keine Zellen gefunden..?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige