Ich weis nicht wie es beschreiben soll, aber ich habe folgendes Problem. Wenn man z B. mittels Makro das Rechnerdatum einfügt, bekommt es immer ein Vorzeichen. von dem ich auch nicht weiß, was es für ein Vorzeichen ist, auf jeden Fall sieht es so aus :
'24.01.2023.
Ein Apostrof wie es sich auf der Shift #>-Taste befindet, ist es nicht. Die Frage ist, warum wird das Zeichen überhaupt gesetzt, da es bei der weiterer Verwendung doch sehr stören kann, und man es immer manuell entfernen muss. Kann man verhindern, dass solche zusätzlichen Zeichen (und was hat es überhaupt damit auf sich)
überhaupt gesetzt werden?
Macros mit Vorzeichen
Moderator: Moderatoren
Re: Macros mit Vorzeichen
Hallo,
in Calc kann man aus jeder Zahl eine Ziffer nachen, in dem man der Zahl ein Apostroph voransetzt.
Mit einer Ziffer (einem String) kann man nicht rechnen.
Das Datum und die Uhrzeit sind aber intern Dezimalzahlen, sonst könnte Calc keine Berechnungen durchführen.
Dabei gilt folgendes:
Siehe:
Menü Extras → Einstellugen → OpenOffice Calc
→ Datum = 30.12.1899
Dies ist der Tag 0 und die Uhrzeit 00:00:00
Zur Analyse der Zeiten empfiehlt es sich das Zahlenformat der Zelle auf 15-Nachkommastellen einzustellen.
Tag 0 + 1 Sekunde = 0,000011574074074
1 Sekunde = 1/24/60/60
1 Minutee= 1/24/60
1 Stunde = 1/24
Bei Uhrzeit 23:59:59 + 1 Sekunde erfolgt der Sprung auf den nächsten Tag und die Uhr wird auf 00:00:00 zurückgesetzt:
Dies ist der Tag 1 und die Uhrzeit 00:00:00 = 1,0
Daraus folgt für das heutige Datum bei 00:00:00 Uhr:
44950,000000000000000
Somit ist der Heute der 44.950-zigste Tag nach dem Basisdatum.
Im Makro muss man nun einen Datumswert vom Datentyp „Double“ errechnen und diesen Wert in eine Zelle schreiben.
Damit aber daraus ein lesbares Datum wird, muss zusätzlich der Zahlformatcode gesetzt werden.
Die Umwandlung von einer Dezimalzahl für den heutigen Tag nimmt Calc automatisch vor, wenn der richtige Zahlformatcode (DD.MM.JJJJ) gesetzt wurde.
So wird dann aus:
44950,000000000000000
das Stringformat
24.01.2023
oder auch:
24.01.2023 00:00:00
Beispiele für den Befehl „Numberformat“
https://www.dannenhoefer.de/faqstarbasi ... dardformat
in Calc kann man aus jeder Zahl eine Ziffer nachen, in dem man der Zahl ein Apostroph voransetzt.
Mit einer Ziffer (einem String) kann man nicht rechnen.
Das Datum und die Uhrzeit sind aber intern Dezimalzahlen, sonst könnte Calc keine Berechnungen durchführen.
Dabei gilt folgendes:
- Stellen vor dem Komma sind Daten (Datum)
- Stellen nach dem Komma betrifft die Uhrzeit (Stunden, Minuten und Sekunden)
Siehe:
Menü Extras → Einstellugen → OpenOffice Calc
→ Datum = 30.12.1899
Dies ist der Tag 0 und die Uhrzeit 00:00:00
Zur Analyse der Zeiten empfiehlt es sich das Zahlenformat der Zelle auf 15-Nachkommastellen einzustellen.
Tag 0 + 1 Sekunde = 0,000011574074074
1 Sekunde = 1/24/60/60
1 Minutee= 1/24/60
1 Stunde = 1/24
Bei Uhrzeit 23:59:59 + 1 Sekunde erfolgt der Sprung auf den nächsten Tag und die Uhr wird auf 00:00:00 zurückgesetzt:
Dies ist der Tag 1 und die Uhrzeit 00:00:00 = 1,0
Daraus folgt für das heutige Datum bei 00:00:00 Uhr:
44950,000000000000000
Somit ist der Heute der 44.950-zigste Tag nach dem Basisdatum.
Im Makro muss man nun einen Datumswert vom Datentyp „Double“ errechnen und diesen Wert in eine Zelle schreiben.
Damit aber daraus ein lesbares Datum wird, muss zusätzlich der Zahlformatcode gesetzt werden.
Die Umwandlung von einer Dezimalzahl für den heutigen Tag nimmt Calc automatisch vor, wenn der richtige Zahlformatcode (DD.MM.JJJJ) gesetzt wurde.
So wird dann aus:
44950,000000000000000
das Stringformat
24.01.2023
oder auch:
24.01.2023 00:00:00
Beispiele für den Befehl „Numberformat“
https://www.dannenhoefer.de/faqstarbasi ... dardformat
Code: Alles auswählen
Sub Datum()
Dim oSel As Object
oSel = thisComponent.CurrentSelection
oSel.NumberFormat=36 ' ZellformatCode für DD.MM.YYYY
osel.Value=Now()
End Sub
Gruß
Craig
_____________________________________________________
WIN 10 Pro 64-Bit • LO 7.1.5.2 (x64) • AOO 4.1.8
Craig
_____________________________________________________
WIN 10 Pro 64-Bit • LO 7.1.5.2 (x64) • AOO 4.1.8