Warum sollte man diese Spalte eigentlich mit Daten → Text in Spalten
bearbeiten, es steht ja nur ein Datum drin?
Und warum Feste Breite
und nicht Getrennt
?
Ich habe das gerade einmal nachgeschaut:
Seit der Version 25.2 ist bei Daten → Text in Spalten
bei den Trennoptionen eine automatische Erkennung drin, die es vorher nicht gab. Wenn ich die genannte Eingabe vorher machte und sowohl den Tabellenkopf als auch den Inhalt markierte wurde Trennen
und Tabulator
standardmäßig angewählt.
Grundsätzlich sollte bei Daten → Text in Spalten
wohl der Spaltenkopf nicht mit in die Auswahl übernommen werden, denn der muss ja nur selten (bei Textspalten) dem Datentyp der Daten selbst entsprechen. Die Umdeutung durch Text in Spalten
soll ja dazu dienen, die eigentlichen Daten aus einem zusammenhängenden Text zu extrahieren.
@PKG :
Sorry, habe versucht, abstrakt ein Verhalten von Calc zu zu beschreiben, welches bei mir zu einem Problem führt…
Hier also konkret:
Bei mir stehen als Spaltenüberschriften z.B “Net weight” - “Steel grade” usw.
Unter “Steel Grade” stehen z.B. Stahlgüten. Diese können numerisch (z.B. “304” oder “316”) oder auch alphanumerisch (z.B. “304L” oder “316Ti” oder…) sein.
Ich muss in der Folge u.a. nach dieser Spalte in einer gleichbleibenden und reproduzierbaren Art und Weise sortieren. Hierfür hat die Erfahrung gezeigt, dass es am besten mit “NUR ALPHANUMERISCHEN” Daten funktioniert. Das ist ein ewig langes Thema…
Ich frage also, warum sich das bewährte Verhalten von Calc an dieser Stelle geändert hat und ob es in den Entwicklereinstellungen eine Möglichkeit gibt, die Voreinstellungen zu ändern
Danke, genau so sehe ich das auch!
Also bei “Text in Spalten” habe ich keine Einstellung gefunden. Aber das ist ja eigentlich nur eine eingeschränkte Version von dem allgemeinen Textimport Dialog und für diesen findest du die Einstellungen in den Experteneinstellungen unter dem Stichwort “ClipboardTextImport”. Und dieser Dialog merkt sich die letzten Einstellungen in der registrymodifications.xcu Datei.
Also: Quelltext markieren, mit Strg+C kopieren und sofort (ohne die Auswahl aufzuheben) mit Strg+Alt+Umschalt+V wieder einfügen. Das öffnet dann den vollständigen Textimport Dialog und macht soweit ich sehe das gleiche wie “Text in Spalten”.
@Regina
Lieben Dank für Deine Antwort!
Gleich ausprobiert: Ja, stimmt - macht das selbe wie “Text in Spalten”.
Leider bei mir aber auch in der Form, dass die Einstellungen nicht übernommen
werden und beim zweiten mal wieder alles eingestellt werden muss.
Andere Fragestellung:
Mein Problem ist das einer Umgehung eines älteren Problems - nämlich die Tatsache, dass
mir bislang niemand sagen konnte, wie man “Text in Spalten” als Macro-Code
programmieren kann.
Es gab viele Vorschläge, aber es gab keinen, der genau das macht, was “Text in Spalten” kann:
Nämlich diese “deepest-hardcore-Umwandlung” der Formatierung einer Zahl in Text.
(Kann man immer sehr schön mit “STRG + 8” kontrollieren, ob in einer Zelle Text oder Zahl steht).
Irgendjemand hat mir mal erklärt, dass das auf einer anderen Ebene geschieht und man
da so nicht rankommt. Aber ich sag immer “geht nicht - gibt’s nicht”
Ich nutze dieses “Text in Spalten” einzig und alleine für diese “deepest-hardcore-Umwandlung”
Zahl in Text.
Hat da vielleicht inzwischen jemand eine Idee?
Bei mir passiert keine automatische Umwandlung von Zahl in Text. Wenn ich Text statt Zahl haben möchte, muss ich dies explizit bei der Spalte auswählen. Da es für jede Spalte anders eingestellt werden kann und der Dialog nicht weiß wie viele Spalten kommen werden, kann es auch keine Eigenschaft des Dialogs sein.
Liegt die “automatische” Umwandlung bei dir vielleicht daran, dass deine Quelldaten einen Dezimalpunkt haben und du das deutsche Gebietsschema mit Dezimalkomma benutzt?
Ich habe gerade festgestellt, auch der “Text to Spalten” Dialog speichert die Einstellungen. Sie sind in den Experteneinstellungen unter TextToColumnsImport zu finden.
Noch eine Bemerkung: Wenn bei dir -aus welchem Grund auch immer- das Speichern der Einstellungen in der registrymodifications.xcu Datei nicht funktioniert, dann versuche es mal in der Datei main.xcd im Verzeichnis /share/registry im Programmverzeichnis. Diese Einstellungen werden benutzt, wenn du keine eigenen machst. Die Datei lässt sich mit einem Editor bearbeiten. Suche nach der Gruppe TextToColumnsImport.
Dass der Dialog sich die Einstellung nicht merkt, ist ein Fehler in der Version 25.2. Das ist Bug tdf#165744. Der Bug ist für Version 25.8 gefixt.
Wenn du mit Python statt Basic arbeiten kannst, dann könnte dir der Test https://opengrok.libreoffice.org/xref/core/sc/qa/uitest/textToColumns/textToColumns.py (und die anderen in dem Verzeichnis) vielleicht Hinweise geben. Im wesentlichen wird dabei das was man sonst von Hand macht durch Python-Anweisungen ausgeführt.
@Regina
Vielen Dank für Deine Antwort!
Habe mich falsch ausgedrückt. Man muss natürlich erst unten bei den Feldbefehlen die
Spalte auswählen und dann z.B. “TEXT”. Anschließend noch mit “OK” abschließen - das ist alles nicht automatisch, stimmt schon, sorry.
Was ich hier als automatisch emfinde ist die Umforamtierung in TEXT ohne irgendetwas im Hintergrund von den alten Formatierungen übrig zu lassen. (Meine Definition dafür: Deep-Hardcore)
Mein Problem ist, dass ich von Thunderbird Tabellen nach Calc kopiere. Nach dem Einfügen sind da die wildesten deep-formats, die mit nichts zu entfernen sind, außer mit “DATEN / Text in Spalten” (bzw. Deine Variante mit dem EInfügen, die ja dasselbe Fenster nutzt.)
Ja, die vorhandenen Kästchen kann man voreinstellen, teilweise bleiben sie auch so wie man sie einstellt, aber das für mich wichtigste Kästchen wäre ja “SEPARETED” als BOOLEAN -ist hier aber nicht als Auswahl vorhanden…
Gemacht. Danke für den Tipp.
Kann ich hier so was wie “SEPARATED” einfach reinschreiben?
</info><prop oor:name="Separated" oor:type="xs:boolean" oor:nillable="false"><info>
Separated check box status
Separated
Ist “Separated” überhaupt der richtige Begriff?
Ja, arbeite in Python. Allerdings als “Interessierter Fortschreitender…”
Mit dem Link konnte ich leider wenig anfangen…
Danke dennoch!!!
Nein. Die Werte sind codiert, sieht man am Datentyp “xs:short”.
- Fixed width = 0
- separator = 1
- detected separator = 2
Es wäre also
<prop oor:name="SeparatorType" oor:type="xs:short" oor:nillable="false"><info>...</info><value>1</value></prop>
Vergiss außerdem nicht, bei der Property “Separators” den für dich passenden Separator einzutragen. Default ist ein Tabulator.
Nochmal vielen Dank.
Alles ausprobiert - erhalte keine Änderung in Funktion, Verhalten oder Erscheinungsbild.
Damit bin ich überfordert!
Warum kein "</info><value>"</value></prop><"
vorneweg wie bei den anderen?
Warum "oor:type=“xs:short” und nicht boolean?
Und die Separatoren sind doch schon eingetragen, oder nicht?!?:
/info><value>true</value></prop><prop oor:name="Separators" oor:type="xs:string" oor:nillable="false"><info>
List of Separators - as a String
Separators
Somit lasse ich " ...</info><value>1</value></prop>
" weg?!?
Oder handelt es sich am Ende doch um die group “ClipboardTextImport”
Kannst Du mir etwas schicken, was ich nur einkopieren müsste?
Das hier steht jetzt drin:
</info><value/></prop></group><group oor:name="TextToColumnsImport"><info>
Contains setting for Text to Columns Import
</info><prop oor:name="MergeDelimiters" oor:type="xs:boolean" oor:nillable="false"><info>
Merge Delimiter check box status
MergeDelimiters
</info><value>false</value></prop><prop oor:name="RemoveSpace" oor:type="xs:boolean" oor:nillable="false"><info>
If true, leading and trailing white spaces are trimmed off.
RemoveSpace
</info><value>false</value></prop><prop oor:name="EvaluateFormulas" oor:type="xs:boolean" oor:nillable="false"><info>
If true, formula expressions are evaluated, else set as text cell content.
EvaluateFormulas
</info><value>true</value></prop><prop oor:name="Separators" oor:type="xs:string" oor:nillable="false"><info>
List of Separators - as a String
Separators
</info><value> </value></prop><prop oor:name="SkipEmptyCells" oor:type="xs:boolean" oor:nillable="false"><info>
If true, Calc preserves previous content of cells when pasting empty ones. If false, Calc delete content of previous cells.
SkipEmptyCells
</info><value>false</value></prop><prop oor:name="TextSeparators" oor:type="xs:string" oor:nillable="false"><info>
Text Separators
TextSeparators
</info><value>"</value></prop><prop oor:name="FixedWidth" oor:type="xs:boolean" oor:nillable="false"><info>
Fixed width
FixedWidth
</info><value>false</value></prop><prop oor:name="FixedWidthList" oor:type="xs:string" oor:nillable="false"><info>
Fixed Width List of separators
FixedWidthList
So gut wie alle seit Jahrzehnten wiederkehrenden Calc/Excel-Probleme rühren daher, dass so gut wie jeder Nutzer die Tabellenkalkulation als Datenbank missbraucht, ohne zu ahnen, dass es Missbrauch ist und ohne zu wissen, wie man das halbwegs sauber anstellt.
In einer echten Datenbank wäre eine Spalte mit 304 und 304L durchgehend Text und würde demzufolge diese Spalte auch alphabetisch sortieren.
In einer Tabellenkalkulation gibt es weder:
- Tabellen
Jedes Rechteck von Zellen kann wie eine Tabelle organisiert sein oder eben nicht. - Datensätze
Jede Zeile kann beliebige Werte jeder Art enthalten. Oft werden auch Leerzeilen oder Unter-Datensätze in solche Pseudo-Tabellen eingefügt. - Felder (Spalten mit festen Datentypen)
Jede Zeile kann beliebige Werte jeder Art enthalten.
Um eine Datenbank in einem rechteckigen Bereich einer Tabellenkalkulation nachzubilden musst Du:
- Spaltenüberschriften anders behandeln als die Datensätze darunter.
- Freiwillig eine durchgehende Konsistenz einhalten, die von echten Datenbanken erzwungen wird.
- Diverse Tricks anwenden, um Formelbezüge bei wachsender Anzahl von Datensätzen gültig zu halten.
Die Spalte mit den Stahlgüten muss bei manueller Eingabe als Text vorformatiert werden bzw. bei Import als Datentyp “Text” importiert werden. Dann klappt’s auch mit der Sortierung.
@Villeroy
Danke für den Beitrag, hat mit meiner Frage nicht viel zu tun.
Aber das Thema scheint dich sehr zu beschäftigen.
Beste Grüße
Frank
Ich bin recht sicher, dass “Text in Spalten” überflüssig ist, wenn alle Daten den gleichen Datentyp haben.
Da hast Du in gewisser Weise recht. Die Verwendung einer Datenbank würde Dein Problem schon an der Wurzel beseitigen, so dass die Frage nach
sich nicht mehr stellt.
.
Bei Datenbanken wird der Typ der Spalte festgelegt und dann durchgängig eingehalten. Dein Problem existiert, weil Calc mehrere Datentypen in einer Spalte erlaubt.
.
Ich arbeite für manche Sachen kombiniert: Die Daten liegen in der Datenbank, und ich ziehe mir nur den zu bearbeitenden Teil nach Calc. Am bequemsten mit einer verbundenen Abfrage, so dass ich nur noch Daten->aktualisieren aufrufen muss.
Danke für die Info.
Hattest Du den Thread gelesen?
Auch das hier?:
Und das wird durch den Einsatz einer Datenbank einfach so gelöst?!?
Ich verstehe, worauf ihr hinaus wollt.
Aber das ist keine Lösung für mein beschriebenes Fehlverhalten und die Neuerung
im Verhalten des Dialogs “Daten/Text in Spalten”. Da würde lessen des Threads helfen…
Aber wie ich höre, gab es einen Bugreport zum Thema und es soll in Version 25.8 einiges gefixt sein.
@Villeroy
Und seit Jahrzenten gibt es immer wieder jemanden in Foren, der Fragen “beantwortet” indem er sagt “mach das doch nicht so. Ist mir völlig wurscht, ob du gute Gründe hast. Mach das nicht so und das Programm ist gut so wie es das nicht tut, was Du willst.”
Ich persönlich kopiere seit Jahren Textpassagen aus einem Editor in Calc um danach (wenn sich genug angesammelt hat) dieses Dokument in die Firebird Datenbank zu übertragen Es ist ein Zwischenspeicher aber gewisse Textoperationen sind im vorangeschalteten Editor einfach unkomplizierter…
Jahrelang hat Calc jede Textzeile brav in eine Zelle übertragen und alles war gut.
Jetzt soll ich jedesmal noch extra eine Checkbox drücken um dasselbe Ergebnis zu erhalten, das ich vorher hatte?
Wenn es simpel wäre diese Voreinstellung zu ändern würde ich sagen “OK, manche Leute brauchen das so, ich nicht, also ändere ich es einfach.” Aber der Ratenschwanz an “Versuch mal das” gefolgt von “Funzt leider nicht” zeigt, dass es wohl alles andere als unkomliziert ist.
Wenn ich ein Prgramm will, das mir gnadenlos vorschreibt wie ich zu arbeiten habe und alles andere wird künstlich erschwert bis unmöglich gemacht, dann kann ich auch Excel nehmen.
Ich persönlich werde erstmal die alte Version wieder aktivieren.
Grundsätzlich ja. Die Datenbank kennt normalerweise keine Formate, also verschwinden die. Probleme haben eher diejenigen, die formatierten Text behalten wollen (fett/Farbe). Heutzutage alles machbar, man sollte aber beim Wechsel des Frontends immer mit Problemen rechnen.
.
Dein “aus Thunderbird” sagt natürlich wenig daruber aus, was Du da bekommst. Wenn ich raten würde: Nach HTML gewandelter Content der per Copy Paste abgeworfen wurde.
.
Vergiss das Thema ganz schnell. Du willst nichts ändern…
Genau. Ich kopiere mal eben eine Tabelle aus einer HTML-Mail und füge Sie in Calc ein.
Dabei kommen Formatierungen mit , die man mit “normalen” Befehlen/Formeln/Makros nicht weg bekommt.
Danke an alle.
Wie gesagt - es gab eine Änderung im System, ich fragte, ob es dazu eine Lösung gibt.
Offensichtlich war ich nicht der einzige - denn es gab einen Bugreport und im nächsten Update wurde das Problem berücksichtigt und gelöst.
Bislang kenne ich Support-foren nur in dieser Form:

“Versuch mal das” gefolgt von “Funzt leider nicht” …
So sucht und findet man Lösungen zu Problemen.
Sollte man also das alles sein lassen?!?
Einfach muss die Lösung doch auch gar nicht sein.
Hauptsache, es funktioniert.
Als Beweis schreibe ich hier die gefundene Lösung rein und hoffe, dass diese Art der Lösungsfindung toleriert werden kann.
Lieben Dank @Regina, die mir den Weg gezeigt hat und echt was drauf hat!
In die Datei
C:\Users\DEINUSERNAME\AppData\Roaming\LibreOffice\4\userregistrymodifications.xcu
gehört folgender zusätzlicher Code:
<item oor:path="/org.openoffice.Office.Calc/Dialogs/TextToColumnsImport"><prop oor:name="SeparatorType" oor:op="fuse"><value>1</value></prop></item>
<item oor:path="/org.openoffice.Office.Calc/Dialogs/TextToColumnsImport"><prop oor:name="Separators" oor:op="fuse"><value>%</value></prop></item>
Dann werden die Einstellungen gespeichert.
Wenn man als Separator ein Zeichen nimmt, welches nicht in der ersten Zelle vorhanden ist (oben also beispielhaft “%”), dann wird auch die Spalte nicht in mehrere Spalten aufgeteilt.
Dank ans Forum!!!