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

Forumthread: Zeilenumbrüche Alt Enter ersetzen

Zeilenumbrüche Alt Enter ersetzen
23.02.2005 11:43:46
Claus
Hallo zusammen,
eine Kollegin, die gerade an ihrer Diplomarbeit schafft, hat ein Problem. Ihr Freund empfahl ihr für den Zeilenumbruch innerhalb Zellen mit viel Text, mittels "Alt Enter" dies manuell zu setzen. Offenbar wusste er nicht, dass man das per Formatierung "Zeilenumbruch" bewerkstelligt.
Nun hat meine Kollegin natürlich das Probblem, dass bei Verbreiterung von Spalten diese mühsam eingepflegten Zeilenumbrüche sehr störend sind.
Deshalb Frage: Gibt es eine Möglichkeit, alle diese manuellen Zeilenumbrüche des gesamten Dokuments automatisch zu entfernen bzw. durch eine Leerstelle zu ersetzen?
Vielen Dank schonmal
Grüßle Claus
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbrüche Alt Enter ersetzen
bst
Mahlzeit Claus,
Option Explicit

Sub NoLF()
Cells.Replace Chr(10), " ", xlPart
End Sub

Gruß, Bernd
AW: Zeilenumbrüche Alt Enter ersetzen
23.02.2005 13:01:40
Claus
Hallo Bernd,
vielen Dank für die Antwort.
Ich glaube, das ist die Lösung meines Problems, doch weiß ich leider nicht, wo ich diesen Code eingeben muss, damit er auf die gesamte Datei mit allen Tabellen wirkt.
Zudem habe ich ein weiteres Problem entdeckt: Teilweise wurde der manuelle Zeilenwechsel vor einem Leerzeichen eingegeben und das Leerzeichen dann gelöscht (damit die Schrift nicht an zweiter Stelle beginnt), dann ist das Ersetzen von Chr(10) durch Leerstelle richtig.
Teilweise wurde der manuelle Zeilenwechsel aber auch nach dem Leerzeichen eingegeben. In diesem Falle müsste ich Chr(10) nur löschen, denn sonst habe ich doppelte Leerzeichen.
Sorry, dass ich jetzt durch unpräzise Fragenstellung noch mehr Aufwand erzeuge. Ich wäre sehr dankbar, wenn mir trotzdem weitergeholfen würde.
P.S. an Hübi: Vielen Dank auch für deine Lösung, da dieses Problem aber in verschiedenen Tabellen innerhalb etlicher Zellen vorkommt, wäre diese Lösung zu manuell.
Grüßle von Claus
Anzeige
AW: Zeilenumbrüche Alt Enter ersetzen
bst
Hi Claus,
Der Code funktioniert so nur auf dem aktiven Blatt.
Versuch's mal mit sowas. Sollte auch dein BLANK-LF Prob lösen.
cu, Bernd
--
Option Explicit

Sub NoLFAtAll()
Dim ws As Worksheet
' On Error Resume Next ' nur bei Bedarf, dann aber schaun warum
For Each ws In ActiveWorkbook.Worksheets
With ws.UsedRange
.Replace Chr(10), "__LF__", xlPart
.Replace " __LF__", " ", xlPart
.Replace "__LF__", " ", xlPart
End With
Next
End Sub

Anzeige
AW: Zeilenumbrüche Alt Enter ersetzen
23.02.2005 15:40:30
Claus
Hallo Bernd,
juppi, es klappt! Vielen herzlichen Dank hierfür.
No eine klitzekleine Frage: Dieses "Option Explicit" habe ich jetzt auch mit in den Quellcode genommen. (rechte Maustaste auf Tabellenreiter, code anzeigen, allgemein anklicken, dort hab ich deinen ganzen Code reinkopiert)
Hätte ich das müssen, und wenn ja, was bewirkt das? Die restliche Funktionsweise des Makros habe ich im schrittweisen ablaufen lassen nachvollzogen und verstanden, ist ja auch nicht schwierig - aber draufkommen muss man halt und wissen wie.
Also denne, ganz liebe Grüße aus dem Schwabenland
Claus
Anzeige
AW: Zeilenumbrüche Alt Enter ersetzen
bat
Abend Claus,
Bitteschön & freut mich wenn's geht.
Zu Option Explicit:
Hiermit erzwingst Du daß alle benutzen Variablen zuvor definiert werden.
Ansonsten erzeugt VBA einen Fehler.
Sieht auf den ersten Blick vielleicht ja noch dämlich aus:
wozu was tun daß überhaupt nicht sein muß ?
Wenn man's näher betrachtet wird's immer sinnvoller.
Undefinierte Variablen werden immer zu 'Variant' gemacht. Sie
- benötigen dabei (zumeist) mehr Speicher
- benötigen (zumeist) mehr Zeit wegen unnötigen Typkonvertierungen
Richtig dimensionierte Variablen dagegen erleichtern das Leben.
Syntaxfehler werden bereits frühzeitig erkannt d.h. sowas wie:
dim iRet as integer
iRet = iRte + 1
Oft können ungewollte Zuweisungen erkannt werden, wie in:
dim ws as WorkSheet
set ws = ActiveWorkBook
Du hast bei Objekten jeder Zeit die automatische Vervollständigung 'IntelliSense' zur Verfügung.
Mehr fällt mir momentan nicht ein ;-)
Gruß, von Schwabe zu Schwabe :-)
Bernd
Anzeige
AW: Zeilenumbrüche Alt Enter ersetzen
24.02.2005 17:43:38
Claus
Hallo Bernd,
die Bekannte, die an ihrer Diplomarbeit schreibt, ist ganz aus dem Häuschen. Sie ist ganz begeistert, dass das hier im Forum einfach so toll geklappt hat und bedankt sich ebenfalls recht herzlich.
Zum Thema "Option Explicit": Da denke ich genauso, dass es richtig ist, am Anfang minimal mehr Aufwand reinzustecken, um dann später ggf. einen gravierenden Fehler zu vermeiden. Wenn man das 100 mal quasi unnötig macht, aber beim 101. mal dadurch verhindert, dass man irgendwie falsch mit einer Variablen weiterrechnet, hat man insgesamt wahrscheinlich Zeit gespart, oder sogar einen Fehler im Endergebnis vermieden.
Das kann man sicher auf viele Tätigkeiten übertragen: Lieber am Anfang sauber und gründlich, dafür etwas langsamer, arbeiten, als hintenraus ewig Fehler zu beseitigen. Aber erklär das mal deinem Chef! (Meiner akzeptiert´s aber schon, da hab ich glaub echt Glück mit meinem Chef)
In diesem Sinne,
liebe Grüße
Claus
Anzeige
OT: Bitteschön und ebenfalls liebe Grüße
bst
.
AW: Zeilenumbrüche Alt Enter ersetzen
Hübi
Hi Claus,
das kann man so machen:
In eine Hilfsspalte diese Formel eingeben =WECHSELN(A1;ZEICHEN(10);" ") und nach unten ziehen. ZEICHEN(10) ist dieser Alt+Enter-Umbruch.
Danach bereinigte Texte kopieren und mit Bearbeiten - Inhalte einfügen... Werte über die Ursprungszellen einfügen.
Gruß Hübi
Anzeige
AW: Zeilenumbrüche Alt Enter ersetzen
23.02.2005 15:44:26
Claus
Hallo Hübi,
vielen Dank für die Antwort.
Allerdings hat mir Bernd eine umfassendere Lösung gezeigt. Deine Lösung hätte prinzipiell natürlich auch geklappt, aber da mein Problem in sehr vielen verschiedenen Tabellenblättern und dort in verschiedenen Zellen drinsteckt, habe ich nach einer automatischeren Lösung gesucht, so wie Bernd es mir gezeigt hat.
Liebe Grüße
Claus
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbrüche in Excel ersetzen: So geht's!


Schritt-für-Schritt-Anleitung

Um Zeilenumbrüche in Excel zu ersetzen, kannst Du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne deine Excel-Datei: Stelle sicher, dass Du die Datei geöffnet hast, in der Du die Zeilenumbrüche ersetzen möchtest.

  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Neues Modul einfügen:

    • Klicke auf Einfügen und wähle Modul aus.
  4. VBA-Code eingeben:

    • Kopiere den folgenden VBA-Code in das Modul:
    Sub NoLFAtAll()
       Dim ws As Worksheet
       For Each ws In ActiveWorkbook.Worksheets
           With ws.UsedRange
               .Replace Chr(10), " ", xlPart
               .Replace "  ", " ", xlPart
           End With
       Next
    End Sub
  5. Makro ausführen:

    • Drücke F5, um das Makro auszuführen. Alle Zeilenumbrüche (Alt + Enter) in den aktiven Arbeitsblättern werden durch ein Leerzeichen ersetzt.

Häufige Fehler und Lösungen

  • Fehler: Excel Alt Enter funktioniert nicht
    Überprüfe, ob Du den Code korrekt eingegeben hast und dass keine Syntaxfehler vorhanden sind.

  • Problem: Doppelte Leerzeichen nach dem Ersetzen
    Wenn Du nach dem Ersetzen doppelte Leerzeichen hast, kannst Du den VBA-Code anpassen, um zusätzliche Leerzeichen zu entfernen.


Alternative Methoden

Neben der VBA-Lösung kannst Du auch die Funktion "Suchen und Ersetzen" verwenden:

  1. Suchen und Ersetzen öffnen: Drücke STRG + H.
  2. Suchbegriff eingeben: Gib in das Feld "Suchen nach" Alt + Enter (d.h. drücke ALT und dann 010 auf dem Ziffernblock).
  3. Ersetzen durch: Gib ein Leerzeichen oder ein anderes Zeichen ein.
  4. Alle ersetzen: Klicke auf "Alle ersetzen".

Praktische Beispiele

  • Beispiel für die Verwendung einer Formel: Wenn Du eine Hilfsspalte verwenden möchtest, kannst Du die Formel =WECHSELN(A1;ZEICHEN(10);" ") verwenden, um Zeilenumbrüche in Zelle A1 durch ein Leerzeichen zu ersetzen. Ziehe die Formel nach unten, um sie auf weitere Zellen anzuwenden.

  • VBA-Code für spezifische Blätter: Um nur auf ein spezifisches Blatt zuzugreifen, kannst Du den VBA-Code anpassen, indem Du Set ws = ThisWorkbook.Worksheets("DeinBlattname") verwendest.


Tipps für Profis

  • Nutze Option Explicit im VBA-Code, um sicherzustellen, dass alle Variablen deklariert sind. Dies kann helfen, Fehler zu vermeiden und die Leistung zu verbessern.

  • Wenn Du mit großen Datenmengen arbeitest, teste den Code zuerst auf einer Kopie deiner Datei, um unerwünschte Änderungen zu vermeiden.


FAQ: Häufige Fragen

1. Was ist die Eingabetaste?
Die Eingabetaste (Enter) wird verwendet, um einen Zeilenwechsel in Excel zu initiieren. Wenn Du ALT + Enter drückst, kannst Du einen Zeilenumbruch innerhalb einer Zelle erzeugen.

2. Wie kann ich Excel Zeilenumbrüche durch Leerzeichen ersetzen?
Du kannst die Funktion "Suchen und Ersetzen" verwenden oder VBA nutzen, um alle Zeilenumbrüche durch Leerzeichen zu ersetzen.

3. Kann ich Zeilenumbrüche in einer bestimmten Zelle ersetzen?
Ja, Du kannst die Formel =WECHSELN(A1;ZEICHEN(10);" ") in einer bestimmten Zelle verwenden, um Zeilenumbrüche nur in dieser Zelle zu ersetzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige