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

Forumthread: VBA - Zeilenumbruch in Zelle entfernen

VBA - Zeilenumbruch in Zelle entfernen
Jörg
Hallo Forum,
bei der Übergabe von xlsx an csv wird bei einer mehrzeiligen (Alt+Enter) Zelle ein CR übergeben, der zwischen den Trennzeichen (;) steht und bei der Übergabe an das Walldorf-System einen neuen Datensatz erzwingt.
;;;;;;;;;
"Text2 Z1
Text2Z2";"Text3 Z1
Text3 Z2
Text3 Z3";"Text4 Z1
Text4 Z2
Text4 Z3
Text4 Z4";;;;; usw.
;;;;;;;;;
nach Text2 Z1 wurde ein Alt+Enter eingegeben.
Kann mir jemand eine VBA-Hilfe geben, mit der ich in einer Schleife der Spalten A:E die Zeilenumbrüch der Zellen durch ein Leerzeichen ersetzen kann?
Im Archiv finde ich hierzu keinen entsprechenden Eintrag, der Makrorekorder gibt's nicht her.
Alternativ: wie kann ich im VBA in einem range A1:E ( lastrow) die Eingabe von Zeilenumbrüche innerhalb einer Zelle verhindern?
Vielen Dank!
Grüße, Jörg
Anzeige

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

Betreff
Benutzer
Anzeige
replace(Text,chr(10),"") owT
20.04.2012 14:25:48
Sheldon
Gruß
Sheldon
Danke, Sheldon!
22.04.2012 15:22:26
Jörg
Vielen Dank, Grüße, J.
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch in Excel-Zellen entfernen


Schritt-für-Schritt-Anleitung

Um Zeilenumbrüche innerhalb von Zellen in Excel zu entfernen, kannst Du ein VBA-Skript verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub ZeilenumbruchEntfernen()
        Dim Zelle As Range
        For Each Zelle In Range("A1:E" & Cells(Rows.Count, 1).End(xlUp).Row)
            Zelle.Value = Replace(Zelle.Value, vbLf, " ") 'vbLf steht für Zeilenumbruch
        Next Zelle
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle ZeilenumbruchEntfernen aus und klicke auf Ausführen.

Dieses Skript ersetzt alle Zeilenumbrüche (Alt+Enter) in den Zellen A1 bis E (letzte Zeile) durch ein Leerzeichen.


Häufige Fehler und Lösungen

  • Fehler: "Excel Zeilenumbruch lässt sich nicht entfernen."

    • Lösung: Stelle sicher, dass Du das Skript korrekt ausgeführt hast und die Zellen, die Du bearbeiten möchtest, im angegebenen Bereich liegen.
  • Fehler: "Excel gibt beim Export in CSV einen Fehler aus."

    • Lösung: Überprüfe, ob die Zeilenumbrüche in den Zellen vorhanden sind und führe das VBA-Skript erneut aus, um sie zu entfernen.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch folgende Methoden ausprobieren:

  1. Suchen und Ersetzen:

    • Markiere den relevanten Bereich.
    • Drücke Strg + H, um das Suchen-und-Ersetzen-Fenster zu öffnen.
    • Gib in "Suchen nach" Alt + Enter (dies wird als Zeilenumbruch erkannt) ein und lasse das Feld "Ersetzen durch" leer oder gib ein Leerzeichen ein.
    • Klicke auf Alle ersetzen.
  2. Textfunktionen:

    • Verwende die Formel =WECHSELN(A1;CHAR(10);" ") um Zeilenumbrüche in einer anderen Zelle zu ersetzen.

Praktische Beispiele

  • Beispiel 1: Du hast eine Liste von Adressen in den Zellen A1 bis A5, in denen Zeilenumbrüche vorhanden sind. Nutze das VBA-Skript, um die Adressen in eine einzeilige Form zu bringen.

  • Beispiel 2: Wenn Du Daten in ein CSV-Format exportierst und Zeilenumbrüche enthalten sind, die neue Datensätze erzwingen, führe das VBA-Skript aus, bevor Du die Datei speicherst.


Tipps für Profis

  • Nutze die Funktion Trim in VBA, um auch unerwünschte Leerzeichen zu entfernen, nachdem Du die Zeilenumbrüche beseitigt hast.

    Zelle.Value = Trim(Replace(Zelle.Value, vbLf, " "))
  • Wenn Du regelmäßig mit CSV-Dateien arbeitest, erwäge das Erstellen eines Makros, das automatisch beim Öffnen oder Speichern der Datei ausgeführt wird.


FAQ: Häufige Fragen

1. Wie kann ich Zeilenumbrüche in Excel manuell entfernen? Du kannst das Suchen-und-Ersetzen-Werkzeug verwenden, um Zeilenumbrüche durch Leerzeichen zu ersetzen.

2. Was passiert, wenn ich das VBA-Skript nicht korrekt ausführe? Es wird möglicherweise nichts passieren oder nur die ersten Zellen bearbeitet. Stelle sicher, dass der Bereich korrekt angegeben ist.

3. Kann ich das Skript auch für andere Bereiche verwenden? Ja, ändere einfach den Bereich in der Zeile For Each Zelle In Range("A1:E"...) entsprechend deinen Anforderungen.

4. Wie kann ich verhindern, dass Zeilenumbrüche in Zukunft eingegeben werden? Du kannst Eingabebeschränkungen im Datenvalidierungsbereich setzen, um das Eingeben von Alt + Enter zu verhindern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige