online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon netmx vom 30.03.2021, 15:40 Options

Lösung

Frage zu Datum

Hallo Leute,

habe eine Frage. In eine Zelle (A1) soll das Jahr eingeben werden, das muss ich danach automatisch in andere Datumszellen übernehmen (dort steht dann 01.01.A1, 31.01.A1, ...).
Wie kann ich das bewerkstelligen?

LG Ricardo


Antwort schreiben

Antwort 1 von rainberg vom 30.03.2021, 15:50 OptionsLösung

Lösung
Hallo Ricardo,


die Formel für den 1. Januar des in A1 stehenden Jahres lautet:

=DATUM(A1;1;1)

Gruß
Rainer

Antwort 2 von netmx vom 30.03.2021, 15:55 Options

Hallo Rainer,

danke für die Antwort. Das ist auch korrekt so. Aber was ist mit dem Monatsende? Ich will dass es automatisch den 31./30./29./28.Monat.A1 erkennt.

LG Ricardo

Antwort 3 von rainberg vom 30.03.2021, 17:22 Options

Hallo Ricardo,

so richtig verstehe ich nicht, was Du erreichen willst.

Angenommen in A1 steht 2009 und in B1 steht Februar, dann ergibt diese Formel

=DATUM($A$1;MONAT(B$1&1)+1;0)

das Ergebnis 28.02.2009

Ansonsten müsstest Du mal genauer schildern, wo steht was und wo soll welches Ergebnis stehen.

Gruß
Rainer

Antwort 4 von netmx vom 31.03.2021, 09:26 Options

Hallo Rainer,

ich will dass der Benutzer selbst 01.01. reinschreibt und die Zelle automatisch mit A1 ergänzt wird.

Bsp: Benutzer schreibt 01.01. in die Zelle, wird automatisch geändert in 01.01.A1. Es soll keine Formel in der Zelle stehen, der Benutzer soll sich nicht mit einer Datumsformel herumschlagen müssen.

Danke für die Hilfe!

LG Ricardo

Antwort 5 von rainberg vom 31.03.2021, 11:30 Options

Hallo Ricardo,

dann mach es doch einfach mit der Tastenkombination Strg+. (Punkt), dann kannst Du sogar auf den Eintrag in A1 verzichten.

Gruß
Rainer

Antwort 6 von Saarbauer vom 31.03.2021, 12:17 Options

Hallo,

das ist nur per Makro zu lösen. Ob der aufwand sich lohnt, musst du selbst wissen.

Gruß

Helmut

Antwort 7 von netmx vom 31.03.2021, 14:51 Options

Danke für die Antworten.
Wie würde das mit einem Makro ausschauen?

LG Ricardo

Antwort 8 von rainberg vom 31.03.2021, 17:52 Options

Hallo Ricardo,

ein Makro könnte so aussehen, es müsste jedoch noch auf einen gewünschten Tabellenbereich beschränkt werden.

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Target.Value = CDate(Left(Target, 2) & "." & Mid(Target, 4, 2) & "." & Range("A1").Value)
    Application.EnableEvents = True
End Sub


Es ändert in der Eingabezelle den Wert z.B 12.05. in 12.05.2009, wenn in A1 2009 steht.

Voraussetzung: Eingabe immer 6-stellig im Format "TT.MM."

Gruß
Rainer

Antwort 9 von netmx vom 01.04.2021, 09:18 Options

Hallo Rainer,

ich habe das Makro eingefügt, da passiert aber nichts.
Muss ich noch etwas ändern?

LG Ricardo

Antwort 10 von netmx vom 01.04.2021, 09:51 Options

Was noch fehlt: Der Bereich, auf den das angewendet werden soll ist I3:J14.

Vielen Dank!

LG Ricardo

Antwort 11 von rainberg vom 01.04.2021, 10:25 Options

Hallo Ricardo,

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Intersect(Target, Range("I3:J14")) Is Nothing Then
        Target.Value = CDate(Left(Target, 2) & "." & Mid(Target, 4, 2) & "." & Range("A1").Value)
    End If
    Application.EnableEvents = True
End Sub


Gruß
Rainer

Antwort 12 von netmx vom 01.04.2021, 11:21 Options

Vielen Dank, Rainer!

Habe das Makro eingefügt, die Arbeitsmappe gespeichert. Leider passiert nichts! Was habe ich falsch gemacht?

LG Ricardo

Antwort 13 von rainberg vom 01.04.2021, 11:28 Options

Hallo Ricardo,

das Makro funktioniert, es gehört in den Codebereich des Arbeitsblattes, in dem es wirken soll.

Gruß
Rainer

Antwort 14 von netmx vom 01.04.2021, 12:27 Options

Rainer, Rainer, DAS IST WAHNSINN!

Vielen, vielen Dank! Echt genial!

Wenn ich A1 ändere soll der Bereich auch geändert sein. Ist das möglich?

LG Ricardo

Antwort 15 von rainberg vom 01.04.2021, 12:38 Options

Hallo Ricardo,

Zitat:
Wenn ich A1 ändere soll der Bereich auch geändert sein.


.....das verstehe ich jetzt nicht, in A1 steht doch die Jahreszahl, die zur Vervollständigung des Datums gebraucht wird und hat nichts mit dem Bereich zu tun.

Was willst Du nun ändern???

Und falls Du noch ein Anliegen in diesem Zusammenhang hast, bitte nenne es gleich.

Gruß
Rainer

Antwort 16 von netmx vom 01.04.2021, 13:43 Options

Wenn 2008 in A1 steht, dann kann ich die in den Bereich I3:J14 im Formar TT.MM. eintragen.

Wenn ich das gemacht habe und ich dann in A1 2007 eintrage, bleibt der Wert im Bereich I3:J14 im Format TT.MM.2008.

Kannst du mir sagen welchen Code ich brauche dass es den Bereich I3:J14 dann automatisch updatet?

LG Ricardo

Antwort 17 von rainberg vom 01.04.2021, 14:22 Options

Hallo Ricardo,

ja, das geht, aber leider antwortest Du immer nur in Fragmenten.

Welcher Bereich soll bei 2007 angesteuert werden?
Willst Du dann noch mehr Jahreszahlen und Bereiche einbeziehen?
Wenn ja, welche?

Gruß
Rainer

Antwort 18 von netmx vom 02.04.2021, 12:19 Options

Welcher Bereich soll bei 2007 angesteuert werden?
> Nur die Jahreszahl, d.h. aus 2007 soll 2008 werden (im gesamten Bereich I3:J14)

Willst Du dann noch mehr Jahreszahlen und Bereiche einbeziehen?
> Nein

Bsp:
A1=2007
I3=01.0.1
Skript ändert I3 zu 01.01.2007
Ich ändere A1 zu 2008
I3 bleibt 01.01.2007

Ich hätte gerne, dass I3 automatisch 01.01.2008 wird und nicht dass ich auf die Zelle doppelklicken muss!

Vielen Dank im Voraus. Wenn du noch fragen hast: bitte nicht zögern!

LG Ricardo

Antwort 19 von rainberg vom 02.04.2021, 12:34 Options

Hallo Ricardo,

da muss ich meine Aussage aus AW17 zurückziehen.

Die Jahreszahl in A1 muss immer vor der Eingabe in den Zellen des Bereiches I3:J14 eingetragen sein.

Gruß
Rainer

Antwort 20 von rainberg vom 02.04.2021, 13:01 Options

Hallo Ricardo,

wenn Du es so meinst, dass Du einerseits im Bereich I3:J14 Werte im Format "TT.MM." eingeben kannst, die dann in ein vollständiges Datum, entsprechend der Jahreszahl in A1, gewandelt werden
und andereseits bei Änderung der Jahreszahl in A1 alle bereits vorhandenen Daten in I3:J14 entsprechend dieser geändert werden sollen, dann funktioniert das mit diesem Code.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngC As Range, rngBer As Range
    Application.EnableEvents = False
    Set rngBer = Range("I3:J14")
    If Not Intersect(Target, rngBer) Is Nothing Then
        Target.Value = CDate(Left(Target, 2) & "." & Mid(Target, 4, 2) & "." & Range("A1").Value)
    ElseIf Not Intersect(Target, Range("A1")) Is Nothing Then
        For Each rngC In rngBer
            If rngC.Value <> "" Then
                rngC.Value = CDate(Day(CDate(rngC)) & "." & Month(CDate(rngC)) & "." & Range("A1").Value)
            End If
        Next
    End If
    Application.EnableEvents = True
End Sub


Gruß
Rainer

Ähnliche Themen

Datum umwandeln
morpheus__85  12.11.2007 - 124 Hits - 2 Antworten

Datum im Format Standart ändern in Datum Format TT.MM.JJJJ
offi  27.11.2007 - 197 Hits - 4 Antworten

von einem Datum auf ein Datum runden
TheBluebird  07.03.2008 - 77 Hits - 4 Antworten

Datum atomatisch
eier  24.03.2008 - 97 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026