Zeilenumbrüche Alt Enter ersetzen

Bild

Betrifft: Zeilenumbrüche Alt Enter ersetzen von: Claus
Geschrieben am: 23.02.2005 11:43:46

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

Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: bst
Geschrieben am: 23.02.2005 12:14:51

Mahlzeit Claus,

Option Explicit


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

Gruß, Bernd


Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: Claus
Geschrieben am: 23.02.2005 13:01:40

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


Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: bst
Geschrieben am: 23.02.2005 13:34:49

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



Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: Claus
Geschrieben am: 23.02.2005 15:40:30

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


Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: bat
Geschrieben am: 23.02.2005 21:52:10

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


Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: Claus
Geschrieben am: 24.02.2005 17:43:38

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


Bild


Betrifft: OT: Bitteschön und ebenfalls liebe Grüße von: bst
Geschrieben am: 24.02.2005 19:45:36

.


Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: Hübi
Geschrieben am: 23.02.2005 12:15:13

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


Bild


Betrifft: AW: Zeilenumbrüche Alt Enter ersetzen von: Claus
Geschrieben am: 23.02.2005 15:44:26

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


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeilenumbrüche Alt Enter ersetzen"