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

Forumthread: zeichen(10)

zeichen(10)
zellner
Hallo,
wieder ein Problem:
aus einem Programm speichere ich Daten in eine.csv Datei. In dem Programm gibt es ein Textfeld in dem ich z. B. eine Anschrift eintrage und entsprechend Zeilenumbrüche habe. In der .csv Datei erscheint dann dass kleine Viereck. Wenn ich nun wieder aus dieser .csv in eine Excel einlese per sverweis, erscheint die Anschrift in einer Zeile mit den kleinen Vierecken -> gibt es eine Möglichkeit ohne VBA diese Zeichen wieder als Zeilenumbruch zu erkennen? Das Problem ist noch, alles ist in einer Zelle sowohl in der .csv wie in der Exceldatei in der es wieder eingelesen wird.
Danke schon mal
Gruß
Raphael
Anzeige
Ja! Format - Zeilenumbruch anhaken! orT
11.12.2010 15:55:34
Luc:-?
Gruß Luc :-?
AW: Ja! Format - Zeilenumbruch anhaken! orT
11.12.2010 16:06:22
zellner
Hi Luc,
geht leider nicht.
In der .csv kann ich nichts ändern, die wird ja immer wieder überschrieben. Und beim auslesen aus der .csv in ein Excel ist in der verbundenen Zelle der Zeilenumbruch drin. Es erscheinen nur die Vierecke. Die stehen ja bereits in der .csv als Viereck drin und nicht über Formel=zeichen(10)?
Kann man der Formel sverweis im Excel das beibringen (oder auch mit einer anderen Formel) dieses kleine Viereck als Zeilenumbruch zu erkennen?
Danke schon mal
Gruß
Raphael
Anzeige
AW: Ja! Format - Zeilenumbruch anhaken! orT
11.12.2010 16:28:25
Christian
Hallo Raphael,
Dein Problem kann ich so nicht nachvollziehen
Tipp (solltest du bei Excel-Gut schon seit gefühlten 100 Jahren verinnerlicht haben):
- statt Sverweis Index und Vergleich verwenden
- auf verbundene Zellen verzichten
aber:
selbst wenn ich einen Text mit Zeilenumbruch "zu Fuß" eingebe (Alt+Enter), liefert Sverweis das korrekte Ergebnis beim Vergleich einer Matrix.
Alles andere ist Formatierung - siehe Antwort von Luc
gruß
Christian
Anzeige
Das ist doch alles völlig schnurz, wenn...
11.12.2010 19:20:48
Luc:-?
…deine „kleinen Vierecke“ tatsächlich Zeilen­umbruchs­zeichen lt ASCII bzw ANSI sind, Raphael!
Wenn du weißt, dass ZEICHEN(10) einen Zeilenumbruch bewirkt, eigentl Zeilen­vorschub (LF) ist, weißt du wohl auch, dass es sich bei ZEICHEN(13) um einen Wagen­rück­lauf (CR), die andere Komponente des Zeilen­umbruchs (CRLF) handelt. Evtl kennst du sogar die Funktion CODE. Was hältst du also davon, mal in eine xlBlatt-Zelle =CODE("„kleines Viereck“") einzugeben, damit endlich klar wird, worum es sich bei diesem ominösen Zeichen nun wirklich handelt. Denn sonst müsste alles (spätestens nach Anklicken der Zelle) richtig fktn. Dabei ist auch egal, ob nun in eine Verbund- oder Einzelzelle eingelesen wird. (Wobei ersteres nur im Hinblick darauf interessant ist, ob da auch alle Besonderheiten richtig beachtet wurden!) Der Zeilenumbruch würde bei beiden Zeichen durchgeführt wdn.
Handelt es sich nicht um ein Zeilen­umbruchs­zeichen, musst du das dann natürl noch entsprechend Ersetzen oder WECHSELN
Nebenbei, auf deine .CSV bezog sich meine Bemerkung selbstverständlich NICHT!
Gruß Luc :-?
Anzeige
AW: Das ist doch alles völlig schnurz, wenn...
12.12.2010 00:52:25
zellner
Hallo,
dann probiere ich es mal mit einer Besipieldatei
Ausgabe https://www.herber.de/bbs/user/72665.xls eigentlich .csv
und wieder einlesen in https://www.herber.de/bbs/user/72664.xls
wie gesagt, aus einem Programm ein csv speichern und diese Daten dann strukturiert wieder in ein excel einlesen.
Dabei möchte ich in der Excel eben nicht die Vierecke sondern wirkliche Zeilenumbrüche. Format Zeilenumbruch hatte ich drin
Danke noch mal
Gruß
Raphael
Anzeige
Aus welchem Grund bist du der Ansicht,...
12.12.2010 03:48:26
Luc:-?
…deine .CSV-Datei sei LF-getrennt, Raphael?
Hat man dir das gesagt oder erzeugst du sie selber in dieser Form. LF muss nicht unbedingt Standard sein. Eine .CSV hat iW die Form eines DB-Auszugs, also einer Liste aus Sätzen (DS). Die Worte eines DS wdn mit irgendeinem definierten Zeichen als Wortende-, die DS mit einem anderen als Satzende­markierung getrennt. Außerdem gibt's oft noch ein EOF-Zeichen am Dateiende. Welches davon soll nun ein LF sein? Und ist es das wirklich? Das ist deinen BspDateien nicht zu entnehmen…
Es kann natürl sein, dass du nur das Feld Anschrift meinst. Wenn da LF drin sind, dürfen die nicht auch noch anderweitig verwendet wdn. Wenn das alles der Fall und Umbruch eingestellt ist, sehe ich keinen Grund, warum das in der ZielTab nicht richtig wiedergegeben wdn soll… Also prüfe 1es der Zeichen mit CODE! Ich komme erst u.evtl im Laufe des Tages dazu…
Morn, Luc :-?
Anzeige
AW: Aus welchem Grund bist du der Ansicht,...
12.12.2010 14:18:05
zellner
Hallo,
ich gestehe: ich versteh kein Wort davon :(
Leider ist mein Excel nicht wie angegeben "gut" sondern nur: "ich kenne ein paar Dinge aber leider nicht alles"
Wenn ich Code("dieses kleine viereck") eingebe kommt 10 raus, ist wohl ein Zeilenumbruch.
Ich finde es prima das ihr euch so viel Gedanken macht, genießt aber heut lieber den 3 Advent, ich such mal noch eine andere Lösung aus dem Originalprogramm raus.
Danke, schöne Adventszeit
Raphael
Anzeige
Ja, dann ist es wirklich ein LF, nur auf...
12.12.2010 14:31:02
Luc:-?
…den reagiert XL nämlich auch wie gewünscht, Raphael,
auf CR nicht, weshalb wir das auch vermutet hatten. Dann muss es allerdings auch klappen, wenn du alles richtig gemacht hast. Ansonsten hätte es die Fml =WECHSELN(…;ZEICHEN(13);ZEICHEN(10)) gebracht, aber das scheint ja nun nicht nötig zu sein…
Dito schöDrAd, Luc :-?
Anzeige
kein Line feed sondern carriage return
12.12.2010 08:55:11
Christian
Raphael,
ersetze Zeichen 13 durch Zeichen 10. (zB. mit der Funktion WECHSELN)
Zeilenumbruch:
Unix: Lf
Mac: Cr
MS: CrLf
Bei Ecxel wird für Zeilenumbruch innerhalb einer Zelle wieder Lf verwendet (analog andere Office-Anwendungen).
Gruß
Christian
Danke
12.12.2010 16:09:00
zellner
Hallo Luc, hallo Christian,
danke für die Unterstützung, jetzt hat es auch geklappt. Den Unterschied zwischen Zeichen 10 und 13 habe ich nun.
Userbild
Danke und schönen Sonntag
Gruß
Raphael
Anzeige
Bitte sehr! ;-) Gruß owT
12.12.2010 23:19:12
Luc:-?
:-?
;

Forumthreads zu verwandten Themen

Anzeige

Infobox / Tutorial

Zeilenumbrüche in Excel mit ZEICHEN(10) verstehen und anwenden


Schritt-für-Schritt-Anleitung

  1. Daten importieren: Lade deine .csv-Datei in Excel. Achte darauf, dass die Daten in einer Zelle mit Vierecken (ASCII-Zeichen) erscheinen.
  2. Prüfe das Zeichen: Um herauszufinden, was das Viereck darstellt, verwende die Funktion =CODE(A1), wobei A1 die Zelle mit dem Viereck ist. Normalerweise gibt dies 10 (LF) zurück, was bedeutet, dass es sich um einen Zeilenumbruch handelt.
  3. Ersetzen des Zeichens: Um das Viereck in einen Zeilenumbruch umzuwandeln, kannst du die WECHSELN-Funktion verwenden:
    =WECHSELN(A1; ZEICHEN(13); ZEICHEN(10))

    Hierbei wird das Wagenrücklauf-Zeichen (CR, ASCII 13) durch das Zeilenumbruch-Zeichen (LF, ASCII 10) ersetzt.

  4. Formatierung aktivieren: Stelle sicher, dass die Formatierung für Zeilenumbrüche aktiviert ist. Klicke mit der rechten Maustaste auf die Zelle, wähle "Zellen formatieren" und aktiviere die Option "Zeilenumbruch".

Häufige Fehler und Lösungen

  • FEHLER: ZEICHEN(10) funktioniert nicht.

    • LÖSUNG: Stelle sicher, dass du die richtige Syntax verwendest. ZEICHEN(10) sollte korrekt eingesetzt werden.
  • FEHLER: Viereck bleibt sichtbar.

    • LÖSUNG: Prüfe, ob tatsächlich ein LF-Zeichen vorliegt. Verwende die CODE-Funktion, um das Zeichen zu identifizieren.
  • FEHLER: Zeilenumbruch wird nicht angezeigt.

    • LÖSUNG: Aktiviere den Zeilenumbruch in den Zellenformat-Optionen.

Alternative Methoden

  • VBA-Lösung: Wenn du mit VBA vertraut bist, kannst du die folgenden Zeilen verwenden, um CR und LF zu ersetzen:
    Sub ErsetzeZeilenumbruch()
      Dim Zelle As Range
      For Each Zelle In Selection
          Zelle.Value = Replace(Zelle.Value, vbCrLf, vbLf)
      Next Zelle
    End Sub
  • Textimport-Assistent: Importiere die .csv-Datei über den Textimport-Assistenten, um sicherzustellen, dass Zeilenumbrüche korrekt erkannt werden.

Praktische Beispiele

  • Beispiel 1: Du hast eine Adresse in einer Zelle, die wie folgt aussieht: "Musterstraße 1¶Musterstadt". In der Zelle erscheint das Viereck. Verwende:

    =WECHSELN(A1; ZEICHEN(13); ZEICHEN(10))

    um den Zeilenumbruch zu aktivieren.

  • Beispiel 2: Wenn du mit einer großen Datenmenge arbeitest, kannst du die SVERWEIS-Funktion zusammen mit ZEICHEN(10) verwenden:

    =SVERWEIS(B1; Datenbereich; 2; FALSCH)

Tipps für Profis

  • Anpassung der Funktionen: Nutze CHAR(10) in englischen Excel-Versionen, um Zeilenumbrüche zu erzeugen.
  • Datenbereinigung: Vor dem Import von .csv-Dateien, bereinige die Daten in deinem Ursprungsprogramm, um Probleme mit ASCII-Zeilenumbrüchen zu vermeiden.
  • Verwendung von INDEX und VERGLEICH: Anstelle von SVERWEIS kannst du INDEX und VERGLEICH verwenden, um flexiblere Suchergebnisse zu erzielen.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen ZEICHEN(10) und ZEICHEN(13)?
ZEICHEN(10) repräsentiert einen Zeilenumbruch (LF), während ZEICHEN(13) einen Wagenrücklauf (CR) darstellt. In Excel wird für Zeilenumbrüche normalerweise nur LF verwendet.

2. Wie aktiviere ich den Zeilenumbruch in einer Zelle?
Rechtsklicke auf die Zelle, wähle "Zellen formatieren" und aktiviere die Option "Zeilenumbruch".

3. Warum erscheinen Vierecke in meiner Excel-Datei?
Vierecke deuten oft auf nicht erfasste ASCII-Zeichen hin, die ersetzt werden müssen. Verwende die CODE-Funktion, um das Zeichen zu identifizieren und entsprechend zu ersetzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige