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

Forumthread: Zeilen mit Null löschen

Zeilen mit Null löschen
26.07.2015 18:44:20
lau
Hallo zusammen,
bräuchte ein Makro, der im Datenblatt 10 und Spalte E alle Zellen absucht und diejenigen die eine Null ausweisen, da soll die Zeile komplett gelöscht werden.
unteres Makro hängt sich auf und löscht nichts. Die Datei ist sehr groß.
Die Arbeitsmappe hesst "Portfolio" und das Makro habe ich im Modul 1 abgelegt.
Sub Zeilen_loeschen()
Dim loeschen As Double
For loeschen = Worksheets(10).Cells(Rows.Count, 5).End(xlUp).Row To 1 Step -1
If Cells(loeschen, 1).Value = "" Then
Rows(loeschen).Delete
End If
Next loeschen
End Sub

Hat jmd. eine Idee warum das Makro nicht läuft?
Viele Grüße

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen mit Null löschen
26.07.2015 18:59:48
Michael
Hi lau,
versuch's mal damit:
Sub Zeilen_loeschen()
Dim loeschen As Long, zeilen As Long
Worksheets(10).Select
zeilen = Range("E" & Rows.Count).End(xlUp).Row
For loeschen = zeilen To 1 Step -1
If Cells(loeschen, 5).Value = "" Then
Rows(loeschen).Delete
End If
Next loeschen
End Sub
Wenn das Ding in einem Modul steckt, löscht es im gerade aktiven Blatt, also solltest Du zunächst ins Blatt 10 wechseln.
In Deinem IF fragst Du die Spalte 1, also "A" ab, nicht die Spalte E.
Schöne Grüße,
Michael

Anzeige
AW: Zeilen mit Null löschen
26.07.2015 19:28:11
lau
Hallo Michael,
vielen Dank. Das Makro läuft.
Habe aber ein Performanceproblem.
Es müssen ca. 70000 Zeilen überprüft werden und das Makro braucht extrem lange.
Kann man das irgendwie bechleunigen?
Viele Grüße

AW: Zeilen mit Null löschen
26.07.2015 19:50:11
robert
Hi,
teste mal das.
Sub Leere()
Range("E1:E100000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Gruß
robert

Anzeige
AW: Zeilen mit Null löschen
26.07.2015 22:04:26
Daniel
Hi
wenns schnell gehen soll bei grossen Datenmengen, dann teste mal:
with Activesheet.Usedrange
with .columns(columns.count + 1)
.formulaR1C1 = "IF(RC5="""",0,row())"
.cells(1, 1).value = 0
.EntireRow.Removeduplicates .column, xlno
.ClearContents
End With
End with
Gruss Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige