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

Forumthread: abschließende Leerzeilen in Zellen löschen

abschließende Leerzeilen in Zellen löschen
27.02.2016 12:44:57
Peter
Hallo,
ich habe folgendes Problem: Eine Excel-Tabelle (Export aus Outlook-Kontakten) gibt es u.a. eine Spalte mit Notizen, in deren Zellen häufig mehrere Leerzeilen stehen. Diese bekomme ich mit wiederholtem
Sub umbrueche()
Columns("G:G").Select
Selection.Replace What:="" & Chr(10) & "" & Chr(10) & "", Replacement:="" & Chr(10) & "",  _
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
weg (je zwei aufeinanderfolgende Zeilenumbrüche werden duch einen ersetzt, bis keine aufeinanderfolgenden mehr übrigbleiben.)
Lediglich abschließende Leerzeilen in einer Zelle werden damit nicht entfernt. Wie werde ich die los?
Viele Grüße,
Peter

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: abschließende Leerzeilen in Zellen löschen
27.02.2016 12:57:13
Michael
Hallo Peter,
Mit
If right(Zelle, 1) = chr(10) then
kannst du prüfen, ob das letzte Zeichen ein Zeilenumbruch ist. Der Code müsste mit eine geeigneten Schleife über alle Zellen laufen. Ein Replace für alle Zellene auf einmal ist mir nicht bekannt.
Mfg

AW: abschließende Leerzeilen in Zellen löschen
27.02.2016 20:21:06
Peter
HAllo,
erst einmal vielen Dank für die Antwort. Das Problem des Entfernens der abschließenden Leerzeile konnte ich nun - mithilfe eines anderen Users - lösen. Bei Bedarf kann ich den Weg gerne posten.

Anzeige
AW: abschließende Leerzeilen in Zellen löschen
29.02.2016 10:37:26
Piet
Hallo Peter
schaut man sich die Makrozeile einmal genau an erkannt man einen logischen Fehler:
In dieser Anweisung sind -keine Space- enthalten: What:="" & Chr(10) & ""
Das müsste für Space entfernen so aussehen: What:=" " & Chr(10) & " "
Des weiteren bist du in einer Spalte, gibst aber die Anweisung für Zeilen durchsuchen
SearchOrder:=xlByRows damit sind Zeilen gemeint, nicht Spalten. Excel ignoriert es!
' Select kann man sich fast immer sparen, bei mir klappt es auch so:
Columns("G:G").Replace What:=Chr(10) & Chr(10), Replacement:=Chr(10)
mfg Piet
Sub umbrueche()
Columns("G:G").Select
Selection.Replace What:="" & Chr(10) & "" & Chr(10) & "", Replacement:="" & Chr(10) & ""
'  bei mir klappt es auch so:
Columns("G:G").Replace What:=Chr(10) & Chr(10), Replacement:=Chr(10)
End Sub

Anzeige
AW: abschließende Leerzeilen in Zellen löschen
29.02.2016 12:32:15
Peter
Hallo Piet,
vielen Dank für die Optimierung und die Feherhinweise. Die Umbrüche/Leerzeilen werden damit, bis auf die letzte (abschließende) Leerzeile entfernt. Diese letzte Leerzeile entferne ich (im Moment) damit, dass ich vor dem Entfernen der Leerzeilen in die letzte Zeile einer Zelle einen Text hinzufüge, der in der Tabelle so nicht vorkommt ("xxxxxxxxxx") und ihn nach dem Leerzeilen-Entfernen wieder lösche (hier wird diesem Text ein Chr(10) vorangestellt.

Anzeige
AW: abschließende Leerzeilen in Zellen löschen
29.02.2016 13:02:34
Daniel
Hi
ich würde hier mit Formeln arbeiten und dabei die Zeilenumbrüche durch Leerzeichen ersetzen.
dann kannst du die doppelten und Randleerzeichen mit GLÄTTEN entfernen (die normalen Leerzeichen muss man vorher durch ein anderes Zeichen ersetzen).
hierzu musst du aber in einer Schleife jede Zelle einzeln bearbeiten, oder das ganze in eine Formel packen.
in VBA schreibt man dann diese Formel ans TAbellenende und dann das Ergebnis als Wert in die Zielzelle.
das geht recht schnell und man braucht keine Schleife.
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(RC7,"" "",""|""),CHAR( _
10),"" "")),"" "",CHAR(10)),""|"","" "")"
.Offset(0, 7 - .Column).Formula = .Value
.ClearContents
End With
End With
Gruß Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Leerzeilen in Excel-Zellen effektiv entfernen


Schritt-für-Schritt-Anleitung

Um abschließende Leerzeilen in Excel-Zellen zu löschen, kannst du die folgenden Schritte durchführen:

  1. Öffne deine Excel-Datei mit den unerwünschten Leerzeilen.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  4. Kopiere und füge den folgenden Code ein:

    Sub leereZeilenEntfernen()
       Dim Zelle As Range
       For Each Zelle In Selection
           If Right(Zelle.Value, 1) = Chr(10) Then
               Zelle.Value = Left(Zelle.Value, Len(Zelle.Value) - 1)
           End If
       Next Zelle
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Wähle die Zellen aus, in denen du die Leerzeilen entfernen möchtest.

  7. Führe das Makro aus: Drücke ALT + F8, wähle leereZeilenEntfernen und klicke auf Ausführen.

Damit sollten die abschließenden Leerzeilen in den Zellen entfernt werden.


Häufige Fehler und Lösungen

  • Fehler: "Excel leere Zeilen am Ende lassen sich nicht löschen."

    • Lösung: Stelle sicher, dass du das richtige Ende der Zelle prüfst, wie im oben angegebenen Code gezeigt.
  • Fehler: "Excel viele leere Zeilen am Ende löschen."

    • Lösung: Der oben genannte Code entfernt nur die letzte Leerzeile. Um mehrere zu entfernen, ändere die Logik im Code oder verwende eine Schleife.
  • Fehler: "Excel leere Zeilen löschen am Ende funktioniert nicht."

    • Lösung: Achte darauf, dass du die Zellen korrekt auswählst und das Makro ausführst.

Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, gibt es auch andere Methoden:

  1. Mit Formeln arbeiten:

    • Du kannst die Formel =WENN(RECHTS(A1;1)=CHAR(10);LINKS(A1;LÄNGE(A1)-1);A1) verwenden, um die Leerzeilen zu entfernen.
  2. Suchen und Ersetzen:

    • Gehe zu Start > Suchen & Auswählen > Ersetzen, gib ^10 in das Feld „Suchen nach“ ein und lasse das Feld „Ersetzen durch“ leer.
  3. Daten filtern:

    • Filtere die Daten und lösche die leeren Zellen manuell.

Praktische Beispiele

  • Beispiel 1: Du hast einen Export aus Outlook-Kontakten mit einer Spalte, die viele Leerzeilen enthält. Nutze das VBA-Skript, um die überflüssigen Leerzeilen in Zellen schnell zu entfernen.

  • Beispiel 2: Wenn du eine Tabelle hast, in der du die Leerzeilen automatisch löschen möchtest, kannst du das Makro so anpassen, dass es auf alle Zellen in einem bestimmten Bereich angewendet wird.


Tipps für Profis

  • Makros speichern: Speichere dein Makro in der Arbeitsmappe, damit du es bei Bedarf schnell wiederverwenden kannst.
  • Daten sichern: Mach immer eine Sicherheitskopie deiner Daten, bevor du mit dem Löschen von Leerzeilen beginnst.
  • Automatisierung: Nutze die Möglichkeit, das Makro automatisch beim Öffnen der Datei auszuführen, wenn das häufig benötigt wird.

FAQ: Häufige Fragen

1. Wie kann ich leere Zeilen in Excel automatisch löschen? Du kannst VBA verwenden, um leere Zeilen automatisch zu entfernen. Das oben beschriebene Makro hilft dabei.

2. Funktioniert das auch in Excel 365? Ja, die beschriebenen Methoden funktionieren in Excel 365 sowie in älteren Versionen.

3. Wie viele leere Zeilen kann ich in Excel auf einmal löschen? Du kannst so viele leere Zeilen löschen, wie du möchtest, solange du die richtigen Bereiche auswählst und das Makro oder die Formel korrekt anwendest.

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