Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zweite Leere Zeile löschen

Zweite Leere Zeile löschen
31.07.2015 06:59:11
Benji
Hallo zusammen,
wie man eine leere Zeile löscht, ist mir bewusst.

Sub LeereZeilenLoeschen()
Dim i As Long
Application.ScreenUpdating = False
For i = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
If i Mod 100 = 0 Then
Application.StatusBar = i
End If
Next i
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub

Ich möchte die erste leere Zeile behalten und alle weiteren löschen. Wenn zwischendrin Text ist, soller wieder die erste Leere Zeile behalten.
Vorher:

  • 1 a
    2
    3
    4 d
    5
    6 f
    7
    8
    9 b

  • Nachher:

  • 1 a
    2
    4 d
    5
    6 f
    7
    9 b

  • Zeilen 3 und 8 wurden gelöscht. Kann man dies mittels VBA umsetzen ?

    Anzeige

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zweite Leere Zeile löschen
    31.07.2015 07:51:56
    Luschi
    Hallo Benji,
    ich mach das immer so:
    
    Sub LeereZeilenLoeschen()
    Dim rg As Range, i As Long
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual
    With ActiveSheet
    For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
    If i > 1 Then
    'aktuelle und 1 Zeile davor müssen leer sein
    If Application.WorksheetFunction.CountA(.Rows(i)) = 0 And _
    Application.WorksheetFunction.CountA(.Rows(i - 1)) = 0 Then
    'erst alle leeren 'A?'-Zellen sammeln
    If rg Is Nothing Then
    Set rg = .Cells(i, 1)
    Else
    Set rg = Application.Union(rg, .Cells(i, 1))
    End If
    End If
    End If
    '         If i Mod 100 = 0 Then
    '           Application.StatusBar = i
    '         End If
    Next i
    End With
    If Not rg Is Nothing Then
    'wenn es leere Zeilen gibt, erst jetzt mit 1 Befehl löschen
    rg.EntireRow.Delete
    Set rg = Nothing
    End If
    'Application.StatusBar = False
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic
    MsgBox "Fertig!", 48 + vbSystemModal
    End Sub
    
    Gruß von Luschi
    aus klein-Paris

    Anzeige
    Lösungen seit Tagen schon vorhanden!
    31.07.2015 07:59:14
    EtoPHG
    Hallo Benji,
    Kontrollier die Antworten auf deine Erstanfrage und stopp das Zumüllen des Forums mit immer wieder der gleichen Anfrage!
    Gruess Hansueli
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige