🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[gelöst] Zelle in Uhrzeit formatieren - Edit: in einem Makro
[gelöst] Zelle in Uhrzeit formatieren - Edit: in einem Makro
Hallo zusammen,
ich habe als Ergebnis verschiedener Berechnungen in LibreOffice Calc in der Zelle B2 eine Dezimalzahl stehen. Das ist eigentlich vollkommen okay so, wird aber in dem Fall als Uhrzeit (HH:MM:SS) benötigt.
Beispiel in der Zelle B2:
0,0416666666666667
Ist dann demnach diese Uhrzeit: 01:00:00
Ich kann da leider keinen Ansatz finden und frage mich ob es generell möglich ist, eine Zelle aus einem Makro heraus zu formatieren, denn gefunden hab ich nur Hinweise auf die Formatierung direkt über das Menü Format. In diesem Fall soll das aber wenn möglich mit einem Makro gelöst werden, weil der Wert dann später auch automatisch anderweitig ausgegeben werden soll.
Vielen Dank im voraus und viele Grüße,
ich habe als Ergebnis verschiedener Berechnungen in LibreOffice Calc in der Zelle B2 eine Dezimalzahl stehen. Das ist eigentlich vollkommen okay so, wird aber in dem Fall als Uhrzeit (HH:MM:SS) benötigt.
Beispiel in der Zelle B2:
0,0416666666666667
Ist dann demnach diese Uhrzeit: 01:00:00
Ich kann da leider keinen Ansatz finden und frage mich ob es generell möglich ist, eine Zelle aus einem Makro heraus zu formatieren, denn gefunden hab ich nur Hinweise auf die Formatierung direkt über das Menü Format. In diesem Fall soll das aber wenn möglich mit einem Makro gelöst werden, weil der Wert dann später auch automatisch anderweitig ausgegeben werden soll.
Vielen Dank im voraus und viele Grüße,
Zuletzt geändert von DerYeti am Sa 20. Apr 2024, 13:32, insgesamt 1-mal geändert.
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Hallo
Formatiere die Zelle im gewünschten Format: ⇒Zahl⇒Zeit⇒⇒ FormatCode: [HH]:MM:SS
Formatiere die Zelle im gewünschten Format: ⇒Zahl⇒Zeit⇒⇒ FormatCode: [HH]:MM:SS
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Danke Dir aber das kenne ich. Da hab ich mich falsch ausgedrückt. Ich würde gerne wissen ob das in einem Makro auch geht. Hintergrund und das hab ich verschwiegen, die Datei ist nicht dauerhaft da sondern wird immer wieder neu erzeugt und eben diese eine Zahl berechnet. Ich kann also nicht einfach die Zelle vorab formatieren, weil es die Datei nicht permanent gibt.
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Man kann das so machen, besser wäre es aber eine vorbereitete »Vorlage.ods« zu öffnen, und da den|die neuen Wert|e zu schreiben.DerYeti hat geschrieben: ↑Fr 19. Apr 2024, 15:57Danke Dir aber das kenne ich. Da hab ich mich falsch ausgedrückt. Ich würde gerne wissen ob das in einem Makro auch geht. Hintergrund und das hab ich verschwiegen, die Datei ist nicht dauerhaft da sondern wird immer wieder neu erzeugt und eben diese eine Zahl berechnet. Ich kann also nicht einfach die Zelle vorab formatieren, weil es die Datei nicht permanent gibt.
( könntest du an der Stelle mal deinen gesamten Arbeitsablauf beschreiben, irgendwie kommt mir das extrem suboptimal vor )
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Es gibt am Ende eine Art "Master-Tabelle" in der dann irgendwann mal Auswertungen gemacht werden. Gerade eben hab ich mir noch überlegt, die Dezimalzahl in die Master-Tabelle zu kopieren und dort sind die Zellen dann schon entsprechend formatiert. Und jetzt beschreibst Du genau das
Manchmal lohnt sich ein Blick außerhalb der eigene Scheuklappen.
Was ich machen will weiß ich selbst noch nicht genau. Ich habe eine Solaranlage als Insellösung zuhause, die eigentlich für den Camper gedacht war. Weil wir aber in der Regel nur einen Monat im Jahr diese Anlage nutzen würden, habe ich die etwas aufgebohrt und erzeuge nicht einmal so wenig Strom mit der Anlage.
Und weil ich eben gerne Sachen überlege, wollte ich dann auch mal Auswertungen machen, was habe ich denn jetzt selbst an Strom erzeugt, den ich auch direkt selbst verbrauche. Das dann in Euro ausgedrückt. Macht zwar rein kalkulatorisch, wenn man die Investition betrachtet, keinen Sinn aber ich freue mich halt, wenn ich in einem Monat für 3 Euro meinen Strom im Wohnzimmer eingespart habe... das mal grob der Hintergrund.
Ich hab einen Laderegler, der kann seine Daten im csv Format exportieren. Aber immer nur 30 Tage. Das geht noch. Aber das ist ja auch "nur" das, was reinkommt.
Meinen direkten Verbrauch am Wechselrichter messe ich mit Smarten Steckdosen. Die liefern aber immer nur die letzten 7 Tage und das auch noch im Excel-Format und ich arbeite hier auf Linux mit LibreOffice. Um das jetzt alles für mich auswerten zu können, hab ich mir einen Workaround eingerichtet, mit dem ich gut zurecht komme. Und teilweise sind das einzelschritte, die immer wieder kommen und ich dachte dass ich da auch Makros einsetzen könnte. Einfach nur auf den Knopf drücken und die Daten werden so aufbereitet, dass ich die dann automatisch in der "Master-Tabelle" eingefügt habe.
Aber insgesamt stehe ich da noch am Anfang und mit Makros kenne ich mich auch nur soweit aus, dass ich Code einigermaßen nachvollziehen kann. Wie komme ich jetzt auf die Uhrzeit?
In einer Spalte steht in einem Textformat das Datum und die Uhrzeit durch ein Leerzeichen voneinander getrennt. Das Datum auch noch in englischer Schreibweise aber soweit bin ich ja noch gar nicht. Lange Rede...
Ich hab mit einem Makro die Uhrzeit aus dieser Datum/Uhrzeit Konstruktion extrahiert und in die nächste Zelle geschrieben. Das funktioniert. Steht halt dann als Dezimalzahl da. Und weil da eh ein Makro läuft, wollte ich halt das da schon die Uhrzeit entsprechend korrekt steht. Weil diese eine Datei ja dann wieder verworfen wird und der Export der Steckdose wieder eine neue liefert, geht das da mit der Formatierung nicht. Da wäre halt ein Makro schön gewesen, damit ich nicht immer die Datei neu öffnen muss. Arbeitsschritte sparen wollte ich.
Das ist jetzt nur ein Beispiel... und es kommen mit Sicherheit noch mehr Dinge dazu, die ich jetzt noch gar nicht absehen kann. Ich hab dann am Ende Daten aus mindestens drei unterschiedlichen Quellen, die ich in einer Datei zusammenführen will. Dauert also noch seine Zeit.
Meine Frage wäre daher immer noch ob es denn nicht möglich ist, aus einer Dezimalzahl die entsprechende Uhrzeit im richtigen Format zu erzeugen. Damit könnte ich dann flexibel weiter machen. Wenn das nicht geht, würde ich oben beschriebene Lösung versuchen einzurichten. Schwer zu beschreiben... im Moment wäre das mit dem Makro meine bevorzugte Lösung.

Manchmal lohnt sich ein Blick außerhalb der eigene Scheuklappen.
Was ich machen will weiß ich selbst noch nicht genau. Ich habe eine Solaranlage als Insellösung zuhause, die eigentlich für den Camper gedacht war. Weil wir aber in der Regel nur einen Monat im Jahr diese Anlage nutzen würden, habe ich die etwas aufgebohrt und erzeuge nicht einmal so wenig Strom mit der Anlage.
Und weil ich eben gerne Sachen überlege, wollte ich dann auch mal Auswertungen machen, was habe ich denn jetzt selbst an Strom erzeugt, den ich auch direkt selbst verbrauche. Das dann in Euro ausgedrückt. Macht zwar rein kalkulatorisch, wenn man die Investition betrachtet, keinen Sinn aber ich freue mich halt, wenn ich in einem Monat für 3 Euro meinen Strom im Wohnzimmer eingespart habe... das mal grob der Hintergrund.
Ich hab einen Laderegler, der kann seine Daten im csv Format exportieren. Aber immer nur 30 Tage. Das geht noch. Aber das ist ja auch "nur" das, was reinkommt.
Meinen direkten Verbrauch am Wechselrichter messe ich mit Smarten Steckdosen. Die liefern aber immer nur die letzten 7 Tage und das auch noch im Excel-Format und ich arbeite hier auf Linux mit LibreOffice. Um das jetzt alles für mich auswerten zu können, hab ich mir einen Workaround eingerichtet, mit dem ich gut zurecht komme. Und teilweise sind das einzelschritte, die immer wieder kommen und ich dachte dass ich da auch Makros einsetzen könnte. Einfach nur auf den Knopf drücken und die Daten werden so aufbereitet, dass ich die dann automatisch in der "Master-Tabelle" eingefügt habe.
Aber insgesamt stehe ich da noch am Anfang und mit Makros kenne ich mich auch nur soweit aus, dass ich Code einigermaßen nachvollziehen kann. Wie komme ich jetzt auf die Uhrzeit?
In einer Spalte steht in einem Textformat das Datum und die Uhrzeit durch ein Leerzeichen voneinander getrennt. Das Datum auch noch in englischer Schreibweise aber soweit bin ich ja noch gar nicht. Lange Rede...
Ich hab mit einem Makro die Uhrzeit aus dieser Datum/Uhrzeit Konstruktion extrahiert und in die nächste Zelle geschrieben. Das funktioniert. Steht halt dann als Dezimalzahl da. Und weil da eh ein Makro läuft, wollte ich halt das da schon die Uhrzeit entsprechend korrekt steht. Weil diese eine Datei ja dann wieder verworfen wird und der Export der Steckdose wieder eine neue liefert, geht das da mit der Formatierung nicht. Da wäre halt ein Makro schön gewesen, damit ich nicht immer die Datei neu öffnen muss. Arbeitsschritte sparen wollte ich.
Das ist jetzt nur ein Beispiel... und es kommen mit Sicherheit noch mehr Dinge dazu, die ich jetzt noch gar nicht absehen kann. Ich hab dann am Ende Daten aus mindestens drei unterschiedlichen Quellen, die ich in einer Datei zusammenführen will. Dauert also noch seine Zeit.
Meine Frage wäre daher immer noch ob es denn nicht möglich ist, aus einer Dezimalzahl die entsprechende Uhrzeit im richtigen Format zu erzeugen. Damit könnte ich dann flexibel weiter machen. Wenn das nicht geht, würde ich oben beschriebene Lösung versuchen einzurichten. Schwer zu beschreiben... im Moment wäre das mit dem Makro meine bevorzugte Lösung.
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Ich hab übrigens grad eine Beispieldatei erstellt und die Zelle, in die die Dezimalzahl dann kopiert werden soll, im Uhrzeitformat eingestellt. Nach dem Einfügen, war dann da keine Uhrzeit, sondern immer noch die Dezimalzahl. Ich hab das mehrfach getestet. Nehme ich die Zelle mit der Dezimalzahl und formatiere die nachträglich ins Uhrzeitformat, klappt das. Formatiere ich die Zelle vorher ins Uhrzeitformat und kopiere dann die Dezimalzahl da rein, ist immer noch die Dezimalzahl sichtbar.
Ich hab danach dann in das Zellformat reingeschaut und siehe da, da war dann wieder Text als Format eingestellt. Warum da überhaupt noch ein Textformat hinterlegt war, erschließt sich mir gerade noch nicht, da schau ich nochmal ins Makro. Aber generell kenne ich das von früher so, dass das Format an der Zelle hängt und egal, was ich da für eine Zahl reinkopiere, wird die dann in dem entsprechend der Zelle gegebenen Format dargestellt ist.
Vielleicht hängt das am Textformat? Kann ich grad nicht nachvollziehen. Ich muss das nochmal anschauen.
[Edit]
Das mit dem Textformat hat sich erledigt. Da war irgendwo zwischendrin eine Zelle im Textformat und das hat sich bis zum Ende mitgezogen. Aber trotzdem komme ich mit dem "Vorformatieren" der Empfängerzelle nicht weiter. Sobald ich die Dezimalzahl da reinkopiere, wird wieder die Dezimalzahl angezeigt. Dieses mal hat die Empfängerzelle allerdings das Zahlenformat. Nachträglich formatieren und das korrekte Uhrzeitformat ist eingestellt.
Also insgesamt bis hier hin würde ich dann doch die Formatierung in dem Makro direkt machen wollen. Aber das war ja meine ursprüngliche Frage, ob das überhaupt geht. Ich habe dazu nichts gefunden.
-
- * LO-Experte *
- Beiträge: 3339
- Registriert: Fr 3. Mär 2017, 17:12
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Hallo,
Strg+Shift+V
Oder entsprechend über das Kontextmenü der Zielzelle.
Gruß
Peter
Weil du die komplette Zelle samt Formatierung in die neue Zelle einfügst, füge nur die Zahl ein.
Strg+Shift+V
Oder entsprechend über das Kontextmenü der Zielzelle.
Gruß
Peter
Win 11 (x64) ▪ LO 25.2.5.1 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Vielen Dank, das hab ich gar nicht bedacht. Soweit so gut.Mondblatt24 hat geschrieben: ↑Fr 19. Apr 2024, 20:01Hallo,Weil du die komplette Zelle samt Formatierung in die neue Zelle einfügst, füge nur die Zahl ein.
Gruß
Peter

Aber eigentlich soll das kopieren und einfügen ja über ein Makro automatisiert ablaufen. Das Makro läuft prinzipiell, nimmt aber die Formatierung "Text" aus der Quelle mit ins Ziel.
Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
Vielleicht dient das nochmal zur Orientierung. Ich habe hier mal einen einzigen Teilschritt separat.
Es sind mehrere verschiedene Quellen, hier mal nur eine.
In der Zelle A2 steht nach dem Export aus der "Smarten Steckdose" folgendes.
'2024/03/09 01:00:00
Wie man sieht, ist das eine Kombination aus Datum und Uhrzeit. Leider mit diesem Hochkomma zu Beginn und somit direkt mal als Text formatiert. In Handarbeit kann ich das mit der Funktion "Daten --> Text in Spalten" aufteilen. In A2 steht dann das Datum und in der Zelle B2 steht dann die Uhrzeit. Das Ergebnis insgesamt wird dann in einem späteren Schritt in eine Art "Master-Datei" kopiert, in der ich irgendwann Daten aus mindestens drei unterschiedlichen Quellen zusammenführen will.
Die Handarbeit will ich gerne durch ein Makro ersetzen. Was ich bisher schon habe, ist von rechts die 8 Zeichen, die die Uhrzeit ergeben, in B2 zu kopieren und dann aus der Zelle A2 zu löschen. Dieses Makro funktioniert bereits grundsätzlich.
Allerdings hatte ich im ersten Versuch in der Zelle B2 einen Text, der aussah wie eine Uhrzeit. Die ließ sich dann nicht ohne weiteres weiter als Uhrzeit bearbeiten. Der zweite Versuch lieferte dann eine Dezimalzahl, die ich nach manuellem Formatieren der Zelle B2 als Uhrzeit darstellen konnte. Das sollte nach Möglichkeit auch schon im Makro behoben werden.
Weil ich dazu nichts gefunden habe, hab ich hier die Frage gestellt ob man denn grundsätzlich in einem Makro in LibreOffice Calc eine Dezimalzahl in eine Uhrzeit formatieren kann. Ich muss dazu sagen, ich benutze das auch als Weiterbildung, ich bin kein Programmierer. Deshalb auch der Versuch, die Schritte so Kleinteilig wie möglich zu gestalten.
Macht es Sinn, wenn ich hier den Code des letzten Makros poste?
Vielen Dank nochmal für Eure Mühe und Lesen der Frage. Ich hoffe, ich konnte das jetzt etwas klarer machen.
Viele Grüße
Es sind mehrere verschiedene Quellen, hier mal nur eine.
In der Zelle A2 steht nach dem Export aus der "Smarten Steckdose" folgendes.
'2024/03/09 01:00:00
Wie man sieht, ist das eine Kombination aus Datum und Uhrzeit. Leider mit diesem Hochkomma zu Beginn und somit direkt mal als Text formatiert. In Handarbeit kann ich das mit der Funktion "Daten --> Text in Spalten" aufteilen. In A2 steht dann das Datum und in der Zelle B2 steht dann die Uhrzeit. Das Ergebnis insgesamt wird dann in einem späteren Schritt in eine Art "Master-Datei" kopiert, in der ich irgendwann Daten aus mindestens drei unterschiedlichen Quellen zusammenführen will.
Die Handarbeit will ich gerne durch ein Makro ersetzen. Was ich bisher schon habe, ist von rechts die 8 Zeichen, die die Uhrzeit ergeben, in B2 zu kopieren und dann aus der Zelle A2 zu löschen. Dieses Makro funktioniert bereits grundsätzlich.
Allerdings hatte ich im ersten Versuch in der Zelle B2 einen Text, der aussah wie eine Uhrzeit. Die ließ sich dann nicht ohne weiteres weiter als Uhrzeit bearbeiten. Der zweite Versuch lieferte dann eine Dezimalzahl, die ich nach manuellem Formatieren der Zelle B2 als Uhrzeit darstellen konnte. Das sollte nach Möglichkeit auch schon im Makro behoben werden.
Weil ich dazu nichts gefunden habe, hab ich hier die Frage gestellt ob man denn grundsätzlich in einem Makro in LibreOffice Calc eine Dezimalzahl in eine Uhrzeit formatieren kann. Ich muss dazu sagen, ich benutze das auch als Weiterbildung, ich bin kein Programmierer. Deshalb auch der Versuch, die Schritte so Kleinteilig wie möglich zu gestalten.
Macht es Sinn, wenn ich hier den Code des letzten Makros poste?
Vielen Dank nochmal für Eure Mühe und Lesen der Frage. Ich hoffe, ich konnte das jetzt etwas klarer machen.
Viele Grüße

Re: Zelle in Uhrzeit formatieren - Edit: in einem Makro
"Die Datei"(en) ist/sind ja ohnehin nicht die worum es Dir eigentlich geht …
Du willst lediglich deren Daten in die "Master-Tabelle" einpflegen lassen, also holen und möglicherweise in verarbeiteter Form einfügen.
Soweit richtig verstanden?
Wie kriegst Du die Dateien in Deinen Rechner, auf dem LO läuft?DerYeti hat geschrieben: ↑Fr 19. Apr 2024, 18:31Es gibt am Ende eine Art "Master-Tabelle" …
… Laderegler, der kann seine Daten im csv Format exportieren. Aber immer nur 30 Tage. Das geht noch. Aber das ist ja auch "nur" das, was reinkommt.
Meinen direkten Verbrauch am Wechselrichter messe ich mit Smarten Steckdosen. Die liefern aber immer nur die letzten 7 Tage und das auch noch im Excel-Format …
In einer Spalte steht in einem Textformat das Datum und die Uhrzeit durch ein Leerzeichen voneinander getrennt. Das Datum auch noch in englischer Schreibweise aber soweit bin ich ja noch gar nicht. Lange Rede...
… am Ende Daten aus mindestens drei unterschiedlichen Quellen, die ich in einer Datei zusammenführen will. …
Dann landen die vermutlich in einem Verzeichnis/directory, das Du dafür vorbereitet hast?
Von dort kannst Du sie per Makro ein- bzw. auslesen und ihre Daten Zeile für Zeile verarbeiten und so weit auswerten, dass Du einen Eintrag in die eigentliche, die "Master-Tabelle" machen lassen kannst, bis die Quelldateien abgearbeitet sind … und dann das Ergebnis anschauen.
Um das im Detail zu klären, bräuchte es hier also Beispieldateien in der Form, wie Deine Datenquellen sie liefern und eine mit der (möglicherweise leeren, verkleinerten) "Master-Datei", die in etwa zeigt wo was endgültig hin geschrieben werden soll.
LO 24.2.0.3 (X86_64) auf Linux 6.6.26-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.