Live-Forum - Die aktuellen Beiträge
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

Replace Chr(10) - Wirkungslos

Replace Chr(10) - Wirkungslos
09.08.2021 18:44:27
Fred
Hallo Excel Profis,
Ich habe Text i.d.R. in der zweiten Zeile einer Zelle. Ich versuche Textumbruch aus der Zelle(n) zu entfernen. Das Makro:

Sub umbruch_entfernen()
With Sheets("Gesamt")
.Range("A10:E" & .Cells(.Rows.Count, "H").End(xlUp).Row).Replace Chr(10), ""
End With
End Sub
bringt leider nicht das gewünschte Ergebnis.
https://www.herber.de/bbs/user/147526.xlsb
Ich habe in einem alten Thread hier im Forum gelesen, das man mit der Funktion Code() den ASCII-Wert des Zeichens ermitteln kann.
Dieser zeigt mir 13 an.
Aber auch geändert auf "13" klappt es nicht.
Was könnte ich sonst noch probieren?
Gruss
Fred

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Replace Chr(10) - Wirkungslos
09.08.2021 19:01:35
PeTeR
Hallo Fred,
versuch' mal Replace vblf
Viel Erfolg
PeTeR
AW: Replace Chr(10) - Wirkungslos
09.08.2021 19:02:15
Oberschlumpf
Hi Fred,
versuch es mal so:

Sub umbruch_entfernen()
With Sheets("Gesamt")
.Range("A10:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Replace Chr(10), ""
.Range("A10:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Replace Chr(13), ""
End With
End Sub
Deine Zellen enthalten sowohl Chr(10) als auch Chr(13)
Hilfts?
Ciao
Thorsten
AW: Replace Chr(10) - Wirkungslos
09.08.2021 19:08:11
Daniel
Hi
prinzipell funktioniert dein Code.
der Zeilenumbruch in Excel ist schon das Zeichen 10 und das wird auch entfernt.
Allerdings siehst du das Ergebnis nicht sofort, wenn die Textausrichtung unten ist. um den Effekt zu sehen, müsstest du entweder die Zeilenhöhe anpassen oder die die Textausrichtung oben einstellen.
mit dem Zeichen 13 ist das so:
in Excelzellen ist das Zeichen 10 alleine für den Zeilenumbruch zuständig.
das Zeichen 13 wird ignoriert.
andere Textsysteme haben für den Zeilenumbruch die Kombination aus Zeichen 13 und Zeichen 10 (in dieser Reihenfolge).
Kommt aus der Geschichte, als noch mit Schreibmaschinen gedruckt wurde (Fernschreiber).
Zeichen 13 ist der Wagenrücklauf, der bewirkt das der Schlitten oder Druckkopf wieder in die Ausgangsposition geht, Zeichen 10 dreht die Papierwalze eine Zeile weiter. Daher braucht man eigentlich beides, nur Zeichen 13 würde bedeuten, dass man die zuletzt beschriebene Zeile überschreibt (was am PC ja nicht geht) und Zeichen 10 alleine würde bedeuten, dass man in der neuen Zeile an der Position weiter macht, an der man in der Zeile drüber aufgehört hat und nicht am Anfang der Zeile.
Gilt aber in Excelzellen nicht, hier reicht das Zeichen 10 alleine für einen vollständigen Zeilenumbruch und das Zeichen 13 wird ignoriert, dh wenn es drin ist, sollte man es vollständigerweise auch rauslöschen, man muss aber nicht (zumindest nicht für die gewünschte Anzeige)
Gruß Daniel
Anzeige
AW: Replace Chr(10) - Wirkungslos
09.08.2021 19:18:10
Oberschlumpf
Hi Daniel,
ich hab gerad das, was du beschrieben hast, ausprobiert.
- nach Ausführen des vorhandenen Codes sind die Zellen "leer"
nee, es wird nur nix mehr gezeigt - stimmt, liegt an der Textausrichtung = "unten"
- nach Ändern der Textausrichtung auf "oben" ändert sich die Zeilenhöhe um das Doppelte, die Texte sind aber wenigstens sichtbar
- rechte MT und Anzeige der Formate zeigt aber, dass noch immer die Option "Zeilenumbruch" aktiv ist = CHR(13) wird also doch nicht so ignoriert
- entweder die Option "Zeilenumbruch" deaktivieren oder das Verwenden meines Codebeispiels führen erst dazu, dass in den Zellen wirklich nur noch der Text enthalten ist
Ciao
Thorsten
Anzeige
AW: Replace Chr(10) - Wirkungslos
09.08.2021 19:35:47
Fred
Hallo Daniel,
danke für deine ausführliche Erklärung von "Zeichen 10 & Zeichen 13" !!
Du hast (wie immer)recht.
Der Vorschlag von Thorsten

Sub umbruch_entfernen()
With Sheets("Gesamt")
.Range("A10:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Replace Chr(10), ""
.Range("A10:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Replace Chr(13), ""
End With
End Sub
werde ich dennoch übernehmen.
Eben habe ich festgestellt, dass

Replace vbCrLf, ""
ebenfalls mein gewünschtes Ergebnis erzielt.
Vielen Dank an PeTeR, Thorsten und an dir, Daniel!!
Gruss
Fred
gefiel mir dennoch am besten
Anzeige
AW: noch 1 Möglichkeit
09.08.2021 19:13:46
Luschi
Hallo Fred,
lt. Vba-Hilfe soll/muß man folgende 4 Parameter angeben: LookAt, SearchOrder, MatchCase, and MatchByte
siehe:https://docs.microsoft.com/en-us/office/vba/api/excel.range.replace
unter: Remarks/Bemerkungen
Um zu Prüfen, ob VbLf-Chr(10) oder VbCrLF-Chr(13) & Chr(10) vorliegt, setze den Cursor auf eine der betreffenen Zelle und starte folgende Routine:

Sub test()
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim s As String
s = ActiveCell.Value
i1 = Len(s)
For i2 = 1 To i1
Debug.Print Asc(Mid(s, i2, 1))
Next i2
End Sub
In Direktfenster des Vba-Editors siehst Du dann das Ergebnis
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Replace Chr(10) - Wirkungslos
09.08.2021 19:25:38
Nepumuk
Hallo Fred,
so:

Sub umbruch_entfernen()
Worksheets("Gesamt").Range("A:B").Replace vbCrLf, "", xlPart
End Sub
Gruß
Nepumuk
soviele "Brüche" habe ich gar nicht :-)
09.08.2021 19:39:53
Fred
Es sprudelt an Lösungen,- soviele Umbrüche habe ich gar nicht :-)

.Range("A10:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Replace Chr(10), ""
.Range("A10:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Replace Chr(13), ""

Worksheets("Gesamt").Range("A:B").Replace vbCrLf, "", xlPart

.Range("A10:B" & .Cells(.Rows.Count, "H").End(xlUp).Row).Replace vbCrLf, ""
Gruss
Fred
Anzeige
AW: soviele "Brüche" habe ich gar nicht :-)
09.08.2021 20:48:01
Luschi
Hallo Fred,
es geht nicht darum, wieviele Umbrüche Du hast, sondern darum, daß
- Strg+H i(Ersetzen)m Tabellenarbeitsblatt
- die vorgenommenen Einstellungen speichert
- und wenn Du in Vba diese Einstellungen nicht überschreibst
- dann werden die gespeicherten Einstellungen genommen!
- und in meinem Link steht, welche Parameter das betrifft
Gruß von Luschi
aus klein-Paris
AW: soviele "Brüche" habe ich gar nicht :-)
09.08.2021 20:55:03
Oberschlumpf
Hi,
es geht nicht darum, dass du ihm noch ma alles erklärn musst, sondern darum, dass Fred sich einfach nur freute, so viele unterschiedliche Wege gezeigt zu bekommen, wie seine Frage erfolgreich beantwortet wurde - und nur das hat er mit seiner "Umbruch-Flut"-Antwort kundtun wollen.
Ciao
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige