Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Umbrüche aus Zelle entfernen

Umbrüche aus Zelle entfernen
03.08.2021 17:18:58
Lisa
Hallo zusammen,
ich würde gerne aus der Spalte E alle Umbrüche Chr(10) entfernen.
Folgenden Code habe ich geschrieben:

Sub Umbruchentfernen()
Columns("E:E").Select
Selection.Replace What:="" & Chr(10) & "" & Chr(10) & "", Replacement:=" "
End Sub
Das Problem ist, dass der Code nur funktioniert, nachdem ich in die Zelle klicke und einmal Enter drücke, ansonsten passiert nichts.
Wie kann ich das umgehen?
Vielen Dank schon Mal und viele Grüße
Lisa

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

Betreff
Datum
Anwender
Anzeige
AW: Umbrüche aus Zelle entfernen
03.08.2021 17:39:55
Lisa
Hallo nochmal,
ich habe das Problem folgendermaßen behoben:

Public Sub Umbrueche_loeschen()
Dim lZeile  As Long
With ThisWorkbook.Worksheets("1")
For lZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(lZeile, 1) = Replace(.Cells(lZeile, 1), Chr(10), " ")
Next lZeile
End With
End Sub
Wieso das funktioniert und der erste Code nicht, kann ich mir aber nicht erklären.
Ich lasse den Beitrag mal drinnen, falls jemand das gleiche Problem haben sollte, wie ich, wenn unerwünscht bitte eben bescheid geben.
Liebe Grüße
Lisa
AW: Umbrüche aus Zelle entfernen
03.08.2021 17:44:23
Daniel
Hi
erstmal enthält der Code viel unnötiges.
warum fügst du Leerstrings ("") zu einem Text hinzu? WARUM?
Wo hast du das gelernt? Nichts muss man nicht hinzufügen. Das ist ungefähr so sinnvoll wie 0 zu einer Zahl hinzu zu addieren.
desweiteren hast du im Code 2x das Zeichen(10) zum Ersetzen drin.
Dieser Code wird also.

Text1
Text2
so belassen wie er ist da hier nur ein Zeichen(10) steht und lediglich Texte mit Zwischen-Leerzeile wie

Text1
Text2
in

Text1 Text2
umwandeln.
naja und das man Zellbereiche nicht selektieren muss bevor man einen VBA-Befehl auf sie anwendet, sollte sich mittlerweile auch rumgesprochen haben (ja der Recorder macht es, aber nur weil er muss, nicht weil es sinnvoll oder notwendig ist)
also reicht im Prinzip:

Sub Umbruchentfernen()
Columns("E:E").Replace What:=Chr(10), Replacement:=" ", lookat:=xlpart
End Sub
die Angabe, ob nur ganze Zellen ersetzt werden sollen oder auch Teile des Inhalts, sollte man hier schon machen.
Ansonsten übernimmt Excel die Einstellung des zuletzt gemachten Suchen- oder Ersetzen-Vorganges und die muss nicht die richtige sein.
Chr(10) kann man auch durch die Systemkonstante vbLF ersetzen (steht für "vb" = Systemkonstante von Visual Basic, "LF" = Line Feed)
Gruß Daniel
Anzeige
AW: Umbrüche aus Zelle entfernen
03.08.2021 17:59:00
Lisa
Hallo Daniel,
danke für die Erklärungen, nur so kann man was lernen.
"Warum fügst du Leerstrings ("") zu einem Text hinzu? WARUM?
Wo hast du das gelernt? Nichts muss man nicht hinzufügen. Das ist ungefähr so sinnvoll wie 0 zu einer Zahl hinzu zu addieren."
Wenn man den VBA Code der Zellen ausliest steht das so dort drin:
"Text" & Chr(10) & "" & Chr(10) & "Text"
Daher logischerweise auch der Versuch. Wenn man nicht weiter weiß, kann man sich als Anfänger eben nur an dem orientieren, was Excel einem vorgibt.
Liebe Grüße
Lisa
AW: Umbrüche aus Zelle entfernen
03.08.2021 18:18:45
Daniel
Stimmt, der Recorder zeichnet so auf.
Aber nicht alles, was der Recorder aufzeichnet, ist im Makrocode dann sinnvoll oder notwendig.
Vieles, was aufgezeichnet wird, ist auch der Methode geschuldet, wie wir als Anwender mit dem Computer arbeiten (z.B. das Selection und Select, weil wir nur ein Eingabegrät haben und daher zuerst den Zellbereich, der bearbeitet werden soll auswählen müssen und danach mit der gleichen Maus den Befehl auswählen)
Daher sollte RecorderCode immer überarbeitet werden, bevor man ihn ins Makro übernimmt.
Gruß Daniel
Anzeige

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige