Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: chr(13) in zelle entfernen

chr(13) in zelle entfernen
20.01.2008 21:39:30
holger
Hallo Excel Freunde,
habe eine frage.
In celle B23 lasse ich per code daten einlesen, die daten erscheinen aber mit dem Chr(13) zeichen,
wie kann ich dies weg bekommen?
Hat da jemand eine idee?
Gruß & Dank
Holger

Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: chr(13) in zelle entfernen
20.01.2008 21:44:00
Sigi
Hi Holger,
mit der Funktion Wechseln kannst du Zeichen austauschen:
=WECHSELN(A1; ZEICHEN(13); "")
Gruß
Sigi

AW: chr(13) in zelle entfernen
20.01.2008 21:50:00
holger
hi si´gi,
geht das auch irgendwie per vba, eigentlich werden im sheet nur daten eingetragen und anschließend gelöscht, das blatt ist eigentlich nicht sichtbar, nur im ausdruck halt
gruß
holger

Anzeige
AW: chr(13) in zelle entfernen
20.01.2008 21:53:22
Sigi
Hi Holger,
mit einer vergleichbaren VBA-Funktion geht's auch. Hier mal ein Beispiel für markierte Zellen:
Sub Zeichen13Entfernen()
Dim Zelle As Object
For Each Zelle In Selection
Zelle.Value = Zeichen13weg(Zelle.Text)
Next Zelle
End Sub



Private Function Zeichen13weg(Text As String) As String
Zeichen13weg = WorksheetFunction.Substitute(Text, Chr(13), "")
End Function


Gruß
Sigi

Anzeige
AW: chr(13) in zelle entfernen
20.01.2008 22:01:00
holger
hi
würd es so auch funtzen?
Sub Zeichen13Entfernen()
zelle = Thisworkbook.sheets("DruckVerord").range("B23").select
Zelle.Value = Zeichen13weg(Zelle.Text)
Next Zelle
End Sub



Private Function Zeichen13weg(Text As String) As String
Zeichen13weg = WorksheetFunction.Substitute(Text, Chr(13), "")
End Function


Anzeige
AW: chr(13) in zelle entfernen
20.01.2008 22:05:30
Sigi
Hi Holger,
so sollte es gehen ...
ThisWorkbook.Sheets("DruckVerord").Range("B23").Value = _
Zeichen13weg(ThisWorkbook.Sheets("DruckVerord").Range("B23").Value)
Gruß
Sigi

SUPI_FUNTZT DANK AN EUCH o.T.
20.01.2008 22:12:15
holger

AW: chr(13) in zelle entfernen
20.01.2008 21:55:00
Daniel
Hi
ergänze den Code um folgende Zeile:

Range("B23").Value = Replace(Range("B23").Value, Chr(13), "") 


der Befehl muss eingefügt werden, nachdem die Daten in B23 eingelesen wurden.
Gruß, Daniel

Anzeige
AW: chr(13) in zelle entfernen
20.01.2008 22:09:34
holger
hi daniel,
bei deinem code wird der ganze text gelöscht und noicht nur die platzhalter
wie kommt das?ß
gruß
holger

anstatt leerstep, ein komma
20.01.2008 22:14:36
holger
Hallo ihr,
wisst ihr evtl. auch wie man anstatt ein leerzeichen ein komma hinbekommt?
gruß holger

AW: anstatt leerstep, ein komma
20.01.2008 22:21:53
Sigi
Hi Holger,
im Prinzip wie mit dem Zeichen 13:

Private Function KommaStattBlank(Text As String) As String
KommaStattBlank = WorksheetFunction.Substitute(Text, " ", ",")
End Function


Gruß
Sigi

Anzeige
AUCH DAS KLAPPT! DANKE!!! o.T.
20.01.2008 22:55:28
holger

AW: chr(13) in zelle entfernen
20.01.2008 22:26:00
Daniel
Hi
habs nochmal geprüft, bei meinem Code werden nur die Zeichen mit dem ASCII-Code 13 entfernt, alles andere bleibt stehen.
Sieh selbst:
https://www.herber.de/bbs/user/49224.xls
Was deinen Code angeht, kann ich es leider nicht beurteilen, weil ich weder deinen Code, noch deine Daten kenne.
Gruß, Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

chr(13) aus Zellen in Excel entfernen


Schritt-für-Schritt-Anleitung

  1. Verwendung der WECHSELN-Funktion:

    • Du kannst die Funktion WECHSELN verwenden, um das Zeichen Chr(13) (ASCII-Code 13) aus einer Zelle zu entfernen.
    • Beispiel: =WECHSELN(A1; ZEICHEN(13); "")
    • Diese Formel entfernt alle Vorkommen von Chr(13) in der Zelle A1.
  2. VBA zur Entfernung von Chr(13):

    • Wenn du lieber VBA verwenden möchtest, kannst du den folgenden Code nutzen:
      
      Sub Zeichen13Entfernen()
      Dim Zelle As Object
      For Each Zelle In Selection
         Zelle.Value = Zeichen13weg(Zelle.Text)
      Next Zelle
      End Sub

    Private Function Zeichen13weg(Text As String) As String Zeichen13weg = WorksheetFunction.Substitute(Text, Chr(13), "") End Function

    
    - Dieser Code entfernt `Chr(13)` aus allen markierten Zellen.
  3. Direktes Arbeiten mit spezifischen Zellen:

    • Wenn du nur eine bestimmte Zelle ansprechen möchtest, kannst du dies so tun:
      ThisWorkbook.Sheets("DruckVerord").Range("B23").Value = Zeichen13weg(ThisWorkbook.Sheets("DruckVerord").Range("B23").Value)

Häufige Fehler und Lösungen

  • Fehler: Der gesamte Text wird gelöscht.

    • Lösung: Stelle sicher, dass du die Funktion Zeichen13weg korrekt anwendest und nicht die gesamte Zelle überschreibst.
  • Fehler: Die Funktion entfernt nicht nur Chr(13), sondern auch andere Zeichen.

    • Lösung: Überprüfe, ob du die korrekten Zeichen in deiner Funktion angibst. Nutze Replace, um gezielt Chr(13) zu ersetzen.

Alternative Methoden

  • Excel-Funktion SUBSTITUTE:

    • Eine weitere Möglichkeit ist die Verwendung von SUBSTITUTE, wenn du nur eine bestimmte Stelle in einem Text ersetzen möchtest.
    • Beispiel: =SUBSTITUTE(A1, CHAR(13), "").
  • Automatisierung mit VBA:

    • Du kannst auch ein Makro erstellen, das automatisch alle Zellen in einem bestimmten Bereich durchsucht und Chr(13) entfernt.

Praktische Beispiele

  • Beispiel 1: Entfernen von Chr(13) aus einer Liste von Namen in Spalte A.

    Sub EntferneZeichen()
      Dim Zelle As Range
      For Each Zelle In Range("A1:A10")
          Zelle.Value = Replace(Zelle.Value, Chr(13), "")
      Next Zelle
    End Sub
  • Beispiel 2: Ersetze Chr(13) durch ein Komma.

    Private Function KommaStattBlank(Text As String) As String
      KommaStattBlank = WorksheetFunction.Substitute(Text, Chr(13), ",")
    End Function

Tipps für Profis

  • Verwende die TRIM-Funktion zusammen mit WECHSELN, um zusätzlich überflüssige Leerzeichen zu entfernen.
  • Mache regelmäßig Backups deiner Daten, bevor du Massenänderungen vornimmst.
  • Teste deine VBA-Skripte in einer Kopie deiner Datei, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Was ist Chr(13)? Chr(13) ist der ASCII-Code für den Wagenrücklauf (Carriage Return) und wird häufig in Excel-Daten verwendet.

2. Wie kann ich sicherstellen, dass nur Chr(13) entfernt wird? Benutze gezielte Funktionen wie WorksheetFunction.Substitute, um nur das spezifische Zeichen zu ersetzen, ohne andere Inhalte zu beeinflussen.

3. Ist die Verwendung von VBA notwendig? Nicht unbedingt. Du kannst WECHSELN oder SUBSTITUTE direkt in Excel verwenden, aber VBA bietet mehr Flexibilität für komplexe Aufgaben und große Datenmengen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige