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

Forumthread: Zeilenumbruch per VBA killen Chr(13) klappt nicht

Zeilenumbruch per VBA killen Chr(13) klappt nicht
KLE
Hallo zusammen,
...ich habe eine Liste vieler Kontakte aus Outlook ausgelesen. Bei einigen habe ich nun am Ende des Firmennamens ein "leerzeichen" entdeckt. Bei genauer Prüfung stellte sich heraus, dass es sich dabei um den Code(13) handelt.
Nun wollte ich es per VBA löschen - bei allen Einträgen der Liste. Aber es klappt nicht - und ich weiß nicht warum ?!
Mein Code:
Sub Zeilenumbrüche() 'beheben
Worksheets("Daten").Range("A1:A5000").Select
Selection.Replace vbCrLf, ""
End Sub
auch
Sub Zeilenumbrüche() 'beheben
Worksheets("Daten").Range("A1:A5000").Select
Selection.Replace chr(13), ""
End Sub
hat nicht geklappt. Immer noch da ?! und die Funktion =Code(A1) auf das letzte Zeichen zeigt mit 13 an.
Bitte um schnelle Hilfe, muss noch heut mit der Liste fertig werden...
Vielen Dank !
Gruß
Kay
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Zeilenumbruch per VBA killen Chr(13) klappt nicht
13.10.2010 13:08:40
Hajo_Zi
Hallo Kay,
vielleicht ist es Chr(160)

AW: Zeilenumbruch - Musterdatei anbei
13.10.2010 13:19:49
KLE
Hallo Hajo,
...probiert leider nicht. Habe ein kleine Musterdatei erstellt. Siehe anlage...vielleicht hilft diese weiter.
Vielen Dank !
Gruß
Kay
Musterdatei
https://www.herber.de/bbs/user/71896.xlsm
Anzeige
Versuche es mit vbCr und vbCrLf und vbLf _oT
13.10.2010 13:13:27
NoNet
_oT = "ohne Text"
AW: vbCR hat funktioniert
13.10.2010 13:27:34
KLE
Hallo Nonet,
...zeitlich überschnitten...Danke. Mit vbCr scheint es funktioniert zu haben ;o)
Vielen Lieben Dank !
Gruß
Kay
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbrüche in Excel per VBA entfernen


Schritt-für-Schritt-Anleitung

Um Zeilenumbrüche in Excel mit VBA zu entfernen, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen und wähle Modul.

  3. Kopiere folgenden Code: Füge den folgenden VBA-Code in das Modul ein:

    Sub ZeilenumbrücheEntfernen()
       Worksheets("Daten").Range("A1:A5000").Replace What:=vbCrLf, Replacement:="", LookAt:=xlPart
       Worksheets("Daten").Range("A1:A5000").Replace What:=Chr(13), Replacement:="", LookAt:=xlPart
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle ZeilenumbrücheEntfernen und klicke auf Ausführen.

  5. Überprüfe die Ergebnisse: Stelle sicher, dass alle Zeilenumbrüche (chr(13)) entfernt wurden.


Häufige Fehler und Lösungen

  • Fehler: Der Code entfernt die Zeilenumbrüche nicht.

    • Lösung: Überprüfe, ob die richtige Zeilenhöhe oder das richtige Format der Zellen eingestellt ist. Manchmal ist es auch Chr(160) (non-breaking space), der Probleme verursacht.
  • Fehler: Das Makro funktioniert nicht auf allen Zellen.

    • Lösung: Stelle sicher, dass der Zellbereich korrekt angegeben ist. Anpassungen an Range("A1:A5000") sind notwendig, wenn mehr oder weniger Zeilen betroffen sind.

Alternative Methoden

  • Benutzung von Excel-Funktionen: Du kannst auch die Funktion =WECHSELN(A1;CHAR(13);"") verwenden, um Zeilenumbrüche direkt in der Zelle zu entfernen.

  • Text in Spalten: Eine weitere Möglichkeit ist, die Funktion Text in Spalten unter dem Reiter Daten zu verwenden, um unerwünschte Zeichen zu entfernen.


Praktische Beispiele

Hier ein Beispiel, wie du den Code leicht anpassen kannst, um auch andere unerwünschte Zeichen zu entfernen:

Sub UnerwünschteZeichenEntfernen()
    With Worksheets("Daten").Range("A1:A5000")
        .Replace What:=vbCrLf, Replacement:=""
        .Replace What:=Chr(13), Replacement:=""
        .Replace What:=Chr(32), Replacement:="" ' Entfernt Leerzeichen
    End With
End Sub

Tipps für Profis

  • Verwende Application.ScreenUpdating = False: Dies beschleunigt den Prozess, indem es das Bildschirm-Update während der Ausführung des Makros deaktiviert. Am Ende des Makros solltest du es wieder aktivieren.

  • Fehlerbehandlung einfügen: Nutze On Error Resume Next, um sicherzustellen, dass das Makro nicht bei einem Fehler stoppt.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen chr(13) und vbCr in VBA?
chr(13) ist die Funktion zur Rückgabe des Carriage Return-Zeichens. vbCr ist ein vordefinierter Konstantenname in VBA, der das gleiche Zeichen repräsentiert.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, diese VBA-Lösungen sind in den meisten Excel-Versionen anwendbar, solange du Zugang zum VBA-Editor hast.

3. Kann ich den Code anpassen, um auch Chr(10) zu entfernen?
Ja, du kannst einfach eine weitere Zeile hinzufügen:

.Replace What:=Chr(10), Replacement:=""

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