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

Zeilenumbrüche und Leerzeichen entfernen

Forumthread: Zeilenumbrüche und Leerzeichen entfernen

Zeilenumbrüche und Leerzeichen entfernen
Krabbe
Hallo,
ich bin mal wieder am verzweifeln. Wie kann ich die in einer Zelle mit Chr(10) erzeugten Zeilenumbrüche und alle Leerzeichen am Ende des Strings löschen (und zwar nur am Ende).
Zum Verständnis, ich habe in einer UserForm z.B. 15 Textboxen txtMenge1-15 die ich in ein Array schreibe und an eine Zelle übergebe (mit Chr(10) nach jeder Textbox). Die Textboxen sind wenn nichts eingegeben wird mit einem Leerzeichen gefüllt (Das soll auch so bleiben).
Für Hilfe wäre ich dankbar
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilenumbrüche und Leerzeichen entfernen
30.09.2011 09:06:57
Rudi
Hallo,
Zelle=RTrim(Replace(Zelle, Chr(10),""))
Gruß
Rudi
AW: Zeilenumbrüche und Leerzeichen entfernen
30.09.2011 09:41:03
matthias.grabs@zeppelin.com
Hallo Rudi,
vielen Dank für die schnelle Antwort, nur leider löscht er mir mit diesem Code alle Zeilenumbrüche, nicht nur die am Ende. Das mit den Leerzeichen klappt aber schon mal.
Grüße Matthias
AW: Zeilenumbrüche und Leerzeichen entfernen
30.09.2011 10:05:37
Rudi
Hallo,
hatte das 'und zwar nur am Ende' auf die LZ bezogen.
Zelle = RTrim(Zelle)
If Right(Zelle, 1) = vbLf Then Zelle = Left(Zelle, Len(Zelle) - 1)
Gruß
Rudi
Anzeige
AW: Zeilenumbrüche und Leerzeichen entfernen
30.09.2011 11:30:47
matthias.grabs@zeppelin.com
Hallo Rudi, ich kriege es nicht hin.
Mit folgendem Code habe ich es probiert. Es kommt aber eine Fehlermeldung "Typen unverträglich"
Habe ich nur in den ersten Textboxen (txtPos1, txtMenge1, txtArtikelnummer1 usw.) etwas eingetragen funktioniert es.
With Sheets("Daten")
For n = 11 To 15
.Cells(erste_freie_Zeile, n) = RTrim(Cells(erste_freie_Zeile, n))
If Right(Cells(erste_freie_Zeile, n), 1) = vbLf Then Cells(erste_freie_Zeile, n) = Left(Cells(erste_freie_Zeile, n), Len(Cells(erste_freie_Zeile, n) - 1))
Next n
End With
Ist wohl nicht mein Tag...
Grüße
Matthias
Anzeige
Da fehlen '.'!
30.09.2011 12:05:38
Rudi
Hallo,

With Sheets("Daten")
For n = 11 To 15
.Cells(erste_freie_Zeile, n) = RTrim(.Cells(erste_freie_Zeile, n))
If Right(.Cells(erste_freie_Zeile, n), 1) = vbLf Then .Cells(erste_freie_Zeile, n) = Left(. _
Cells(erste_freie_Zeile, n), Len(.Cells(erste_freie_Zeile, n) - 1))
Next n
End With

Gruß
Rudi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbrüche und Leerzeichen in Excel entfernen


Schritt-für-Schritt-Anleitung

Um Zeilenumbrüche (z.B. durch Chr(10)) und Leerzeichen am Ende eines Strings in Excel zu entfernen, kannst du den folgenden VBA-Code verwenden. Dieser Code geht davon aus, dass deine Daten in bestimmten Textboxen einer UserForm eingegeben wurden.

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu.
  3. Kopiere und füge den folgenden Code ein:
Sub EntferneZeilenumbruecheUndLeerzeichen()
    Dim Zelle As String
    Dim n As Integer
    Dim erste_freie_Zeile As Long

    erste_freie_Zeile = Cells(Rows.Count, 1).End(xlUp).Row + 1 ' Nächste freie Zeile

    With Sheets("Daten")
        For n = 11 To 15 ' Beispiel für Textboxen
            Zelle = RTrim(.Cells(erste_freie_Zeile, n)) ' Leerzeichen am Ende entfernen
            If Right(Zelle, 1) = vbLf Then
                Zelle = Left(Zelle, Len(Zelle) - 1) ' Zeilenumbruch entfernen
            End If
            .Cells(erste_freie_Zeile, n) = Zelle ' Ergebnis in Zelle schreiben
        Next n
    End With
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus.

Mit diesem Code entfernst du die Leerzeichen am Ende einer Zelle und die Zeilenumbrüche, die am Ende stehen.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Überprüfe, ob die Zellen, die du verwendest, tatsächlich Text enthalten. Wenn du versuchst, mit leeren Zellen zu arbeiten, kann dieser Fehler auftreten. Stelle sicher, dass du nur Zellen mit Text bearbeitest.
  • Problem mit mehreren Leerzeichen

    • Wenn du mehrere Leerzeichen zwischen den Wörtern hast, wird nur das letzte Leerzeichen entfernt. Du kannst den Trim-Befehl verwenden, um alle führenden und nachfolgenden Leerzeichen zu entfernen.

Alternative Methoden

Eine einfache Methode, um Zeilenumbrüche oder Leerzeichen in einer CSV-Datei zu entfernen, ist die Verwendung von Excel-Formeln. Du kannst die Funktion WECHSELN kombinieren mit GLÄTTEN verwenden:

=GLÄTTEN(WECHSELN(A1;CHAR(10);"" ))

Diese Formel entfernt Zeilenumbrüche und überflüssige Leerzeichen in der Zelle A1.


Praktische Beispiele

  1. Entfernen von Zeilenumbrüchen in Textboxen:

    • Wenn du in einer UserForm 15 Textboxen hast, kannst du den oben genannten VBA-Code verwenden, um die Zeilenumbrüche und Leerzeichen zu entfernen.
  2. CSV-Datei bereinigen:

    • Wenn du eine CSV-Datei hast, in der Leerzeichen entfernt werden müssen, kannst du die oben genannte Formel in Excel verwenden, um eine neue Spalte zu erstellen, die die bereinigten Daten enthält.

Tipps für Profis

  • Verwende die Trim-Funktion zusammen mit Replace, um sicherzustellen, dass sowohl führende als auch nachfolgende Leerzeichen und Zeilenumbrüche entfernt werden.
  • Wenn du regelmäßig mit CSV-Dateien arbeitest, kannst du ein Makro erstellen, das automatisch alle Leerzeichen und Zeilenumbrüche entfernt, um dir Zeit zu sparen.

FAQ: Häufige Fragen

1. Wie kann ich nur Leerzeichen am Ende eines Strings entfernen? Verwende die RTrim-Funktion in deinem VBA-Code, um nur die Leerzeichen am Ende zu entfernen, ohne die in der Mitte zu beeinflussen.

2. Geht das auch ohne VBA? Ja, du kannst die Excel-Formel =GLÄTTEN(WECHSELN(A1;CHAR(10);"")) verwenden, um Zeilenumbrüche und überflüssige Leerzeichen zu entfernen, ohne VBA zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige