Wenn Sie eine Zelle mit Zeilenumbrüchen in Excel kopieren und in Notepad einfügen, wird der Text in eine Zeile eingefügt. Warum das?
microsoft-excel
notepad
linebreaks
Kyle Dixon
quelle
quelle
Antworten:
Dies liegt an der Funktionsweise von Tabellenkalkulationen. Stellen Sie sich vor, Sie haben eine Tabelle voller Daten. Wenn Sie eine ganze Datenzeile kopieren und in Notepad einfügen möchten, müssen sich alle Daten in einer Zeile befinden. Wenn Sie eine andere Datenzeile kopieren und einfügen, muss sich die nächste Datenzeile in einer Zeile befinden. Wenn die erste kopierte Zeile Zeilenumbrüche enthält, befinden sich die Daten nicht mehr in zwei linearen Zeilen. Wenn Sie die Daten aus dem Editor in das Arbeitsblatt kopieren, werden sie nicht richtig eingefügt.
quelle
Alt+Enter
) nur 0xA eingegeben, nicht das vollständige 0xD 0xA, dhLF
stattCR/LF
. Excel interpretiert dies und zeigt den Zeilenumbruch an, wohingegen der normale Notizblock dies nicht tut, da dies erwartet wirdCR/LF
. Es ist ein Unterschied, ob Formate mehr als nur ein Fehler erkannt werden, aber das ist der richtige Grund.Dies ist der Fall, wenn Sie den Editor verwenden, den Microsoft-Standardtexteditor, der bereits in Windows vorinstalliert ist.
Sie können jedoch einen weiterentwickelten Texteditor wie PSPad oder Notepad ++ (beide ausgezeichnet und kostenlos) verwenden und Ihre Zeilenumbrüche übertragen.
Excel :
Zelle markiert, dann kopieren und in Notepad ++ einfügen :
Derselbe Inhalt, der in Notepad eingefügt wurde (der Windows-Standardeditor):
Beachten Sie, dass in beiden Fällen Anführungszeichen automatisch hinzugefügt wurden!
Die besseren Editoren bieten Ihnen auch die Möglichkeit, Steuerzeichen wie LineFeed (LF) und CarriageReturn (CR) anzuzeigen. In Notepad ++ sieht das so aus:
Fazit: Wählen Sie Ihr Werkzeug nach Ihren Bedürfnissen. Verwenden Sie den Editor, wenn die Zellgrenzen im Editor beibehalten werden sollen, der Zellinhalt jedoch möglicherweise ein wenig geändert wird. Verwenden Sie einen anderen Editor, wenn der Zellinhalt einschließlich Zeilenumbrüchen unberührt bleiben soll und die 1: 1-Reproduzierbarkeit der Zellgrenzen nicht entscheidend ist.
Massenverarbeitung solcher Daten
Wenn sowohl Zellränder als auch Zellinhalte 1: 1 gleichzeitig beibehalten werden müssen, können Probleme auftreten.
Es gibt vielleicht intelligentere Lösungen, aber in solchen Fällen habe ich ein kleines Programm in einer beliebigen Sprache (VBA, Python oder was auch immer Sie am liebsten mögen) geschrieben, das den Inhalt liest und Platzhalterzeichen für die Zeilenumbrüche hinzufügt (etwas so Einfaches wie "### Linebreak ###", das später durch CR- und LF-Steuerzeichen ersetzt werden kann. Das ist dann natürlich umständlich und nur dann sinnvoll, wenn Sie große Datenmengen verarbeiten müssen.
Möglicherweise treten auch Probleme mit den hinzugefügten Anführungszeichen auf. Diese können auf den ersten Blick nützlich sein, um Zellgrenzen zu erhalten, auch wenn Zeilenumbrüche enthalten sind. Möglicherweise enthält Ihre Zelle jedoch Anführungszeichen als Teil des ursprünglichen Inhalts, und es treten neue Probleme auf. Dafür gibt es verschiedene Lösungen, aber Sie müssen sich darum kümmern.
quelle
CR
LF
es tatsächlich an, weil es das siehtLF
und davon ausgeht, dass es ein volles sein sollCR
LF
und konvertiert es.Keltari ‚s Antwort gibt die logische Argumentation, während diese Antwort auf dem technischen Unterschied konzentriert.
Beim Rechnen werden drei verschiedene Formen von Zeilenumbrüchen verwendet:
LF
)CR
)CRLF
)Dies ist ein Nachteil der Art und Weise, wie Schriftsteller arbeiten.
Excel verwendet eine Kombination dieser Zeilenumbrüche, um Zellen mit mehreren Zeilen darzustellen:
Tab
Zeichen getrennt.CRLF
Zeichen getrennt.LF
Zeichen.Dies wird deutlich, wenn Sie Ihre Arbeitsmappe als
.txt
Datei speichern und mit einem Texteditor öffnen, der das Anzeigen dieser Zeichen unterstützt.Notepad verarbeitet nur
CRLF
als Zeilenumbruch und ignoriertLF
oderCR
für sich. Sie befinden sich noch im Dokument, sind jedoch in keiner Weise sichtbar.Hinweis: Sie werden dies nicht sehen, wenn Sie vor und zurück einfügen, da Notepad ++ die Zeilenenden automatisch an Ihre Bedürfnisse anpasst, während dies mit dem normalen Notepad nicht möglich ist.
quelle
LF
ist vorhanden eigentlich noch , wenn im Editor eingefügt, Notizblock einfach ist es nicht sichtbar angezeigt werden soll . (Dies entspricht im Grunde genommen einem Leerzeichen mit der Breite Null.) Daher werden beim Kopieren der eingefügten Daten aus dem Editor in Excel diese Zeilenumbrüche berücksichtigt (obwohl Excel die Zeilengröße nicht automatisch ändert).CRLF
.="A"&CHAR(13)&CHAR(10)&"B"
. Von Formeln erzeugte Zeilenumbrüche sind in Excel nicht sichtbar, funktionieren jedoch einwandfrei, wenn sie kopiert und dann über "Werte einfügen" eingefügt werden. Ein Wert, der durch manuelles Eingeben"A<CRLF>B"
in den Editor und Kopieren eingefügt wurde, behält auch die CRLF bei.LF
EOLs schnell lesbar zu machen . Finden Sie also einLF
Zeichen, wählen Sie es,Ctrl
+C
,Ctrl
+Home
,Ctrl
+F
,Ctrl
+V
,Enter
,Esc
,Enter
. Dann wiederholtF3
,Enter
bis Ende. [Bearbeiten: <kbd> funktioniert nicht in Kommentaren?]Excel verwendet LF, um neue Zeilen innerhalb einer Zelle zu kennzeichnen. Notepad betrachtet dies nicht als eine neue Zeile, da Windows im Allgemeinen CRLF für neue Zeilen verwendet.
Notepad ++ ist intelligenter als das relativ einfache Notepad und interpretiert LF daher auch als eine neue Zeile.
quelle
"
und Notepad ++ normalisiert alle Zeilenenden entsprechend. Sehen Sie hier . Wenn Sie stattdessen als speichern.txt
und in Notepad ++ öffnen, haben die mehrzeiligen ZellenLF
nur. Sehen Sie hier .