Einer Datumseingabe feste Jahreszahl zuordnen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Gugst Du
Beiträge: 5
Registriert: Mi, 03.02.2021 15:45

Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Gugst Du »

Hallo Liebe Openoffice Gemeinde!!!

Ich habe leider keine Lösung zu meinem Wunschdenken gefunden.

Wenn ich in Calc in eine Zelle das Datum in Form von TT.MMM eingebe, wird automatisch das aktuelle Jahr hinzugefügt.
Die Jahreszahl wird in der Zelle zwar nicht angezeigt (was laut formatierung ja auch so sein soll) aber das Jahr ist präsent wenn man in die Zelle klickt und oben in die Befehlszeile schaut.
Ist es möglich, dieses per Formel oder Funktionen so zu ändern, dass es nicht das aktuelle Jahr, sondern ein anderes, in der Tabelle festgelegte Jahr hinzuzieht.

Hintergrund:
ich habe immer und wiederkehrend sehr viele Jahres und Halbjahrespläne aus dem Vorjahr von handschriflichen Dokumenten einzugeben und zwecks Statistik zu digitalisieren.
Hier möchte ich mir möglichst wiederholende Eingaben ersparen, da dies sehr mühsam und zeitraubend sein kann.
Desweiteren möchte ich dann in der Zelle links daneben automatisch den Wochentag aus dem Datum generieren und dafür brauchts das korrekte jahr.

Konkretes Beispiel für einen Bericht aus 2020
Istzustand:
In Zelle B17 gebe ich "17.03" ein
Das Ergebnis ist 17.Mrz.2021 (was zum falschen Wochentag führt)

Einfachste manuelle Lösung:
In Zelle B17 gebe ich "17.03.20" ein
Das Ergebnis ist 17.Mrz 2020 (was zum korrekten Wochentag führt)
Allerdings echt mühsam wenn man ca. 100 Jahrespläne mit jeweils unendlich vielen Wocheneinträgen immer wieder mit der "20" am ende füttern muss.

Wunschvorstellung von mir:
In einer beliebigen Zelle im Jahresplan einmalig die Jahreszahl 2020 angeben (die ändert sich nicht für den Plan).
In Zelle B17 gebe ich "17.03" ein
Das Ergebnis über eine Formel oder Funktion wäre 17.Mrz 2020 und der korrekte Wochentag.


Wär prima wenn da jemand weiterhelfen könnte.
Hab da schon n bisserl experinentiert aber da ist leider immer nur Verrücktes bei herausgekommen :-)

Liebe Grüße
craig22
****
Beiträge: 135
Registriert: Mi, 19.08.2020 13:47

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von craig22 »

Hallo,

z.B. so?
Unbenannt 2.ods
(11.38 KiB) 194-mal heruntergeladen
Gruß

Craig
_____________________________________________________
WIN 10 Pro 64-Bit • LO 7.1.5.2 (x64) • AOO 4.1.8
echo
*******
Beiträge: 1005
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von echo »

Hallo
das geht direkt in der Eingabezelle wohl nur mit einem Makro.
Eine Möglichkeit wäre, das Jahr in einer anderen Zelle per Formel anzupassen.
A1 = Jahreszahl
=DATUM($A$1;MONAT(B17);TAG(B17))
Das würde für den Wochentag selbst sofort funktionieren.

Man könnte diese Version bist zur letzten Eingabe fortsetzen und bei Bedarf, ganz zum Schluss die Formeln wieder löschen.
Das geht so: Die Spalte mit den Formeln markieren >> kopieren >> Rechtsklick > Inhalte einfügen >> [ ] Formeln (aus)

Dann die Original-Daten (Plural Datum) durch die richtigen Werte ersetzen

Gruß Holger
Gugst Du
Beiträge: 5
Registriert: Mi, 03.02.2021 15:45

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Gugst Du »

craig22 hat geschrieben: Mi, 03.02.2021 16:27 Hallo,

z.B. so?
Unbenannt 2.ods

Hallo Craig22,

danke für die Idee! Dann müsste ich eine gesonderte Spalte in den Plan einarbeiten, diese könnte ich dann beim Ausdruck des A3 Plans ausblenden.
Eine Möglichkeit die zwar erstmal einmalig Arbeit macht, da die Pläne geändert werden müssen, aber dann wieder Zeit einspart.
Meine Wunschvorstellung war jedoch so gemeint, dass die Zelle der Eingabe auch die Zelle der Ausgabe ist.
Also würde sich in meiner Wunschvorstellung die Formel auf die eigene Zelle beziehen, das geht jedoch leider nicht wirklich.
Zumindestens bei meinem Schnelltest soeben nicht.
Gugst Du
Beiträge: 5
Registriert: Mi, 03.02.2021 15:45

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Gugst Du »

echo hat geschrieben: Mi, 03.02.2021 16:30 Hallo
das geht direkt in der Eingabezelle wohl nur mit einem Makro.
Eine Möglichkeit wäre, das Jahr in einer anderen Zelle per Formel anzupassen.
A1 = Jahreszahl
=DATUM($A$1;MONAT(B17);TAG(B17))
Das würde für den Wochentag selbst sofort funktionieren.

Man könnte diese Version bist zur letzten Eingabe fortsetzen und bei Bedarf, ganz zum Schluss die Formeln wieder löschen.
Das geht so: Die Spalte mit den Formeln markieren >> kopieren >> Rechtsklick > Inhalte einfügen >> [ ] Formeln (aus)

Dann die Original-Daten (Plural Datum) durch die richtigen Werte ersetzen

Gruß Holger
Vielen Dank Holger!

im Prinzip war es genau so von mir gemeint. Eingabezelle =Ausgabezelle
Aber es scheiterte bei einem Test daran, dass sich die Formel nicht auf die eigene Zelle bezieht
bzw. bei der Eingabe des Datums "17.03" die Formel flöten geht und das Datum wieder das Jahr 21 hat.
echo
*******
Beiträge: 1005
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von echo »

Das geht so nicht du überschreibst zwangsläufig die Formel
Ich dachte an zwei Spalten: Eingabe ohne Jahr; Wochentag in der anderen Spalte
Für den Wochentag würde es aber funktionieren. In der Eingabezelle wird das Jahr ja sowieso nicht angezeigt

Gruß Holger
Unbenannt 2.ods
(9.98 KiB) 125-mal heruntergeladen
echo
*******
Beiträge: 1005
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von echo »

Hallo
ich habe da gerade noch mal eine andere Version versucht, sofort die RICHTIGE Jahreszahl bei der Eingabe zu übergeben. Nämlich mit der Autokorrektur: Leider muss immer ein Leerzeichen da zwischen sein damit die Autokorrektur funktioniert. Weiß nicht ob das dann noch praktikabel ist.
Bei meiner Tastatur liegt das "<" Zeichen direkt rechts neben der Leertaste daher habe ich das Zeichen in der Autokorrektur verwendet:

Für das Jahr 2019:
Extras > Autokorrektur-Einstellungen:
Ersetze << durch .2019 in die Liste neu eingefügt.
jetzt zB. das Datum 1.1.2019 eingeben: 1.1 Leerzeichen<<

Zur Erklärung: In Excel ist das Leerzeichen nicht notwendig. Dort ersetzte ich doppeltes Komma durch Doppelpunkt. Daduch kann ich jede Uhrzeit komplett über die Zahlentastatur einfügen. Leider will Calc immer ein Leerzeichen haben, sonnst wäre das doppelte Komma fürs Jahr sicherlich eine schnelle Lösung

Gruß Holger
Rocko
*******
Beiträge: 1164
Registriert: Do, 11.10.2012 13:19

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Rocko »

Gugst Du hat geschrieben: Mi, 03.02.2021 16:07 ich habe immer und wiederkehrend sehr viele Jahres und Halbjahrespläne aus dem Vorjahr von handschriflichen Dokumenten einzugeben und zwecks Statistik zu digitalisieren.
Hier möchte ich mir möglichst wiederholende Eingaben ersparen, da dies sehr mühsam und zeitraubend sein kann.
Desweiteren möchte ich dann in der Zelle links daneben automatisch den Wochentag aus dem Datum generieren und dafür brauchts das korrekte jahr.
Das korrekte Jahr wird aus der Einstellung des Betriebssystems genommen. In deinem Fall könnte es sich also lohnen, das Jahr (beliebiges Datum) im Betriebssystem auf das "korrekte" Jahr zurückzustellen. Nach Abarbeitung deiner Liste solltest du aber nicht vergessen, das Betriebssystem wieder auf das aktuelle Datum zurückzustellen.
Hast du schon mal einen Blick in die Writer-FAQ und in die Calc-FAQ des Forums geworfen?
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
Gugst Du
Beiträge: 5
Registriert: Mi, 03.02.2021 15:45

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Gugst Du »

Rocko hat geschrieben: Do, 04.02.2021 11:48
Gugst Du hat geschrieben: Mi, 03.02.2021 16:07 ich habe immer und wiederkehrend sehr viele Jahres und Halbjahrespläne aus dem Vorjahr von handschriflichen Dokumenten einzugeben und zwecks Statistik zu digitalisieren.
Hier möchte ich mir möglichst wiederholende Eingaben ersparen, da dies sehr mühsam und zeitraubend sein kann.
Desweiteren möchte ich dann in der Zelle links daneben automatisch den Wochentag aus dem Datum generieren und dafür brauchts das korrekte jahr.
Das korrekte Jahr wird aus der Einstellung des Betriebssystems genommen. In deinem Fall könnte es sich also lohnen, das Jahr (beliebiges Datum) im Betriebssystem auf das "korrekte" Jahr zurückzustellen. Nach Abarbeitung deiner Liste solltest du aber nicht vergessen, das Betriebssystem wieder auf das aktuelle Datum zurückzustellen.
Hallo Rocko
Heehee ... ja daran hatte ich auch schon gedacht .. dann kamen einige Zertifikatsmeldungen etc. :shock:
aber mal abgesehen davon, wäre das wohl fast schon die einfachste Methode 8)
Gugst Du
Beiträge: 5
Registriert: Mi, 03.02.2021 15:45

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Gugst Du »

Danke Holger,

das wäre auch noch eine Möglichkeit um es sich zumindestens etwas zu vereinfachen.
Schade dass es nicht NOCH einfacher geht 8)

ich bin jetzt erstmal dem Bespiel mit der Formel "=DATUM($A$1;MONAT(B17);TAG(B17))" gefolgt.
So funktioniert es mit dem Wochentag auf jeden Fall super.
Ich habe diese ein bisschen umgestrickt, damit die Zelle bei leerbleibenden Bezugszellen ebenfalls leer bleibt.
Wenn ich nun tatsächlich demnächst mal das komplette Datum mit Jahr in der Spalte anzeigen möchte, muss ich nochmal forschen und dann wäre der Einfachheit halber tatsächlich eine Datumsänderung am PC einfach ... n bisserl ungewöhnlich, aber effizient und zielgerichtet ;)

Aber zumindest ist mir geholfen und es ist eine Lösung herausgekommen.

Ich Danke euch sehr !!!
Helmut_S
*****
Beiträge: 224
Registriert: So, 29.10.2017 11:29

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Helmut_S »

Hallo, einer geht noch rein ;-)
Eingabezelle=Ausgabezelle, dürfte kaum möglich sein, außer du fragst den Baron Münchhaussen wie er sich am eigenen Schopf aus dem Wasser gezogen hat. :lol:
D.h. du brauchst eine eigene Spalte/Zelle für die Eingabe von Tag.Monat. Als Verbindungszeichen in der Funktion "verbinden()" brauchst du den Punkt "."; damit das bei der Eingabe am Zahlenblock möglich ist, musst du in den Optionen von Calc das Gebietsschema Deutschland (Schweiz) einstellen, dann wird ein Punkt statt Beistrich ausgegeben.
Gruß Helmut
Dateianhänge
Datumseingabe.ods
(11.83 KiB) 151-mal heruntergeladen
MX-Linux 23 KDE, Linux Mint 21 Cinnamon
Qwau
Beiträge: 5
Registriert: Di, 06.10.2020 11:04

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von Qwau »

Von mir auch noch eine Variante im Anhang.

Eine Hilfsspalte ist allerdings nötig - die kann man dann wenn sie erstellt ist ausblenden. Ggf. beim Drucken aufpassen das man die nicht mitdruckt.

Datumseingabe: Hier wird das Datum eingegeben.
Danaben die Hilfsspalte die man dann später ausblendet und daneben zur Kontrolle der Wochentag.

Die Datumseingabe funktioniert über die Zellenformatierung. Dazu habe ich drei Varianten versucht:
A) Eingabe: mit allen Punkten: 07.02.
B) Eingabe: nur mit dem ersten Punkt: 07.02
C) Eingabe: ohne Punkte: 0702

wird jeweils 07.02.2021

Oben an der Hilfspalte, wird das Jahr angegeben, dass zur Wochentagberechnung dazu gehört. Bei der Datumseingabe muss die Änderung über die Zellenformatierung geschehen.

Wenn mehrere Jahre in einer Tabelle sind, dann wird es etwas fummelig.


TABELLE 2

Deutlich schöner gefällt mir die Lösung auf Tabelle 2.
Für die Datumseingabe müsstest du aber etwas flexibler sein ;-)

Und zwar ist die Datumseingabe in Spalte A eine Hilfsspalte: Eingabe ist vierstellig ohne Punkt.
Diese Spalte nach der Eingabe wieder ausblenden.

Hilfsspalte B: Steht nur das Datum. Ggf. wenn nur ein Datum auf der Tabelle sein soll, kann man die Spalte auch entfernen.
Die Spalte nach der Eingabe auch ausblenden.

Dann sieht es sehr hübsch aus :)

Bei der Eingabe muss man darauf achten sich für eine Variante zu entscheiden wie man das Datum eingeben möchte. Am einfachsten und schönsten gefällt mir vierstellig ohne Punkte. Das ist einfach, ist klar und schnell über den Ziffernblock eingegeben.
Dateianhänge
OOO_lschen.ods
(14.32 KiB) 144-mal heruntergeladen
orak
Beiträge: 1
Registriert: Sa, 23.12.2023 16:54

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von orak »

Hallo zusammen,
ich stand vor einem ähnlichen Problem und habe ein Makro zusammen gebastelt. Da ich wenig Erfahrung mit Makros habe, ist mit viel suchen verbunden gewesen. Die Steuerung der aktiven Zelle habe ich dabei kopiert (Quelle angegeben). Das Jahr wird in der Zelle B1 erwartet, ich möchte einen Datumsbereich eingeben, der in zwei Zellen geschrieben werden soll, Eingabe sieht wie folgt aus 1.1. 2.3. (durch Leerzeichen getrennt). Das Makro habe ich dann an ctrl-d gebunden. Es sieht wie folgt aus:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub DatumBereich
    'Jahr aus lesen, habe fest B1 vorgesehen 
    Dim oSheet as Object
	Dim oCell as Object
	Dim year as Variant
	oSheet = thisComponent.CurrentController.getActiveSheet()
	oCell = oSheet.getCellByPosition(1,0) 'B1 Fest, tatsächlich spalte zeile
	year = oCell.value
	

	sText = InputBox ("Datumsbereich","Tag.Monat Tag.Monat")
	parts = Split(sText," ")
	fd = CInt(Split(parts(0),".")(0)) ' first day, first month, second ...
	fm = CInt(Split(parts(0),".")(1))
	sd = CInt(Split(parts(1),".")(0))
	sm = CInt(Split(parts(1),".")(1))
	' Und die Zelle bestimmen 
	oCell=thisComponent.CurrentSelection 
	oCell.NumberFormat = 37 ' 37 aus einem Experiment mit Makro Auzeichnen und Format ändern, mir reichts 
	oCell.setValue(DateSerial(year,fm,fd))
	
	' eins weiter - hmm, keine einfache Lösung gefunden, diese ist von https://ask.libreoffice.org/t/calc-automatically-jump-to-cell/12726/3
	dim args(1) as new com.sun.star.beans.PropertyValue
	dim document   as object
	dim dispatcher as object
	args(0).Name = "By"
	args(0).Value = 1
	args(1).Name = "Sel"
	args(1).Value = false
	document   = ThisComponent.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
	dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args())

    'und setzen 
	oCell=thisComponent.CurrentSelection 
	oCell.NumberFormat = 37 ' 37 aus einem Experiment mit Makro Auzeichnen und Format ändern, mir reichts 
	oCell.setValue(DateSerial(year,sm,sd))
	
	'und nächste Zeile, dann nach links 
    dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args())
	dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args())	
End Sub




paljass
******
Beiträge: 792
Registriert: Do, 25.10.2012 07:25

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von paljass »

Hallo Leute,
nette Ideen - aber wie ich finden viel zu viel Brimborium für eine einfache Liste,
Ich würde einfach das Datum mit T-M eingeben, dann wird das aktuelle Jahr angefügt (Achtung: beim 29.02. muss das echte Jahr mit eingegeben werden.
Nach Abschluss der Erfassung dann einfach Datumsspalte markieren und per Suchen & Ersetzen das aktuelle Jahr mit Punkt (.2023 - bald .2024) suchen und mit dem gewünschten Jahr (Bsp .2020) ersetzen.

Fertig ist die Liste und schöne Weihnachtstage
paljass
EDV ist wie U-Boot fahren - machst du ein Fenster auf, fangen die Probleme an.
AlterSack
**
Beiträge: 21
Registriert: Mi, 17.09.2014 21:04

Re: Einer Datumseingabe feste Jahreszahl zuordnen

Beitrag von AlterSack »

Die Forderung hatte ich auch und es über einen Keyhandler gelöst. Hab gerade dazu geschrieben: viewtopic.php?t=76992 bzw. https://github.com/cscode2000/EAR_OO
Antworten