Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1536to1540
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

Leere Zeile löschen -Laufzeit

Leere Zeile löschen -Laufzeit
24.01.2017 11:57:58
Munzir

Hallo zusammen,
ich habe eine Tabelle mit ca 40000 Einträge, die ich bereinigen möchte.
Es sind Zeilen, die ich komplett löschen möchte, wenn eine bestimmte Zelle leer ist (in dem Bsp. _ Zelle "G"). Dafür benutze ich folgende Makro:


Sub Clean_Tbl()
Dim iCounter As Long
Dim nRow As Long
With ActiveSheet
Debug.Print "Start:" & Now
nRow = .Cells(Rows.Count, 7).End(xlUp).Row
For iCounter = nRow To 1 Step -1
'In Spalte G kein Eintrag, dann
If .Cells(iCounter, 7).Value = "" Then
Rows(iCounter).Delete
End If
Next iCounter
End With
Debug.Print "Ende:" & Now
End Sub

Soweit funktioniert alles, aber es dauert bei der Menge an Daten zu lange.
Könnte man, den Code noch optimieren, um die Laufzeit zu verkürzen.
Wäre für jede Hilfe sehr dankbar.
Grüße
Munzir

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Zeile löschen -Laufzeit
24.01.2017 12:13:15
EtoPHG
Hallo Munzir,
1000 x gefragt, 1000 x beantwortet (Recherche, Archiv)
  • Hilfspalte zum 'fixen' festhalten der ZeileNr.
  • Sortieren der Tabelle nach der Spalte um Leerzellen löschen, so dass Leerzellen am Schluss stehen.
  • Bereich mit Leerzellen selektieren und löschen.
  • Sortierung nach Hilfsspalte wiederherstellen.
  • Hilfspalte löschen.

  • Gruess Hansueli
    AW: Leere Zeile löschen -Laufzeit
    24.01.2017 12:22:03
    Munzir
    Hallo Hansueli,
    vielen Dank für die Antwort!
    bevor ich die Frage gestellt habe, habe die Suchfunktion verwendet aber leider wurden keine Einträge gefunden. Ich gucke beim nächsten mal genauer hin.
    Grüße
    Munzir
    Anzeige
    Ohne Schleife!
    24.01.2017 12:18:27
    RPP63
    Moin!
    Wenn die Zellen wirklich leer sind, hilft Dir die SpecialCells-Methode.
    Hier wäre es (Pseudo-Code)
    Columns("G").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    
    Gruß Ralf
    AW: Ohne Schleife!
    24.01.2017 12:40:14
    Munzir
    Moin Ralf,
    danke! ich werde deine Lösung gleich testen.
    Feedback kommt..
    Grüße
    Munzir
    AW: Leere Zeile löschen
    24.01.2017 12:26:27
    Helmut
    
    Sub tt()
    Range("G:G").SpecialCells(4).EntireRow.Delete
    End Sub
    

    Gruß Helmut
    AW: Leere Zeile löschen
    24.01.2017 12:38:35
    Munzir
    vielen Dank Helmut1
    ich werde es gleich ausprobieren und Feedback geben.
    Grüße
    Munzir
    AW: Leere Zeile löschen -Laufzeit
    24.01.2017 13:52:19
    Munzir
    die Lösungsvorschläge von Ralf & Helmut sind bis jetzt sehr optimal
    Laufzeit ca. 25 sec.
    Vielen Dank!
    Anzeige
    AW: Leere Zeile löschen -Laufzeit
    24.01.2017 13:52:26
    Munzir
    die Lösungsvorschläge von Ralf & Helmut sind bis jetzt sehr optimal
    Laufzeit ca. 25 sec.
    Vielen Dank!
    AW: Leere Zeile löschen -Laufzeit
    24.01.2017 16:59:24
    Daniel
    noch ne Methode (auch schon x-fach hier von mir vorgestellt):
    in einer Hilfsspalte am Tabellenende per Formel alle Zeilen, die gelöscht werden sollen mit 0 kennzeichnen und alle die stehenbleiben müssen mit der aktuellen Zeilennummer:
    =Wenn(G2="";0;Zeile())
    
    in die Überschriftenzeile der Hilfsspalte kommt ebenfalls die 0.
    jetzt wendest du auf die ganze Tabelle die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN an, mit der Hilfsspalte als Kriterium und der Option "keine Überschrift" (auch wenn du eine Überschrift hast, aber eine Zeile mit 0 wird stehenbleiben)
    dann die Hilfsspalte wieder löschen.
    Bei Excel- und VBA-gut solltest du dir den Code dazu selber erstellen können (ggf mit Unterstützung des Recorders), ansonsten wie gesagt, im Archiv sollte er sich finden lassen.
    Gruß Daniel

    Anzeige

    252 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige