Excel: automatisches Datum eintragen ohne weitere Aktualisierung

Allan Sche Sar

Lt. Commander
Registriert
Jan. 2004
Beiträge
1.912
Hallo ihr,

ich knobele gerade an einer Formel zum Eintragen der Kalenderwoche bei Eingabe in eine Zelle.
Hintergrund:
Es soll dokumentiert werden, wenn ein neuer Zeileneintrag gemacht wird. Dieser wird immer mit der Pflichteingabe in Spalte A gemacht.
Daher hatte ich folgende Formel im Sinn:

Code:
=WENN($A2<>"";"KW"&KALENDERWOCHE(HEUTE();2)&"/"&JAHR(HEUTE());"-")

Grundsätzlich funktioniert das auch, aber wenn ich die Excel am Folgetag öffne steht wieder das aktuelle Datum drin.
Könnt ihr mir weiter helfen, dass sich das Datum nach Eingabe nicht mehr ändert?

Mit JETZT habe ich es auch schon probiert, aber das liefert das gleiche Ergebnis.
 
Bei den Berechnungsoptionen im Reiter Formeln, kann man die Berechnung auf manuell einstellen. Jedoch muss dann nach der Eingabe in A auch die Spatle mit der Formel nochmal eingeben.

Sonst fällt mir da nur VBa ein.

@Nitschi damit wird der Wert aber nichtmehr berechnet wenn sich in Spalte A was ändert, also bleibt dort immer "-" wenn man es nicht nochmal eingibt.
 
Würde soweit ich weiß nur mit VBA gehen, aber dann müsstest du auch ein Makro ausführen damit das funktioniert (Automatisch beim Start würde es auch gehen, aber dafür müsste man es in Excel generell erlauben - keine gute Idee).

Oder nach dem eintragen manuell mit klick auf die Zelle und F2-F9-Enter die Formel in Wert umwandeln.
 
blöde Idee, aber wie wäre es mit einer dritten Spalte C, die du quasi als Ein-/Ausschalter für die Formel oben nimmst.
Standardmäßig sind alle Wert in Spalte C gleich 1 und dann würde ich deine Formel erweitern:

edit hat ein nesting vergessen:

Code:
=WENN($C2 = 1; WENN($A2<>"";"KW"&KALENDERWOCHE(HEUTE();2)&"/"&JAHR(HEUTE())+ Setze $C2 = 0;"-"); tue nichts)
 
Zuletzt bearbeitet:
Danke für euer Feedback.
Die Formeln sollen nicht manuell berechnet werden, dies würde garantiert zu falschen Aussagen führen, wenn jemand vergisst es auszuführen.
Genauso möchte ich dieses mal kein VBA in der Datei habe. VBA und freigegebene Dateien ist immer etwas krampfig.

aroxx ich werde deinen Ansatz mit der Tripperzelle und deiner Formel gleich einmal probieren.
Ergänzung ()

Es funktioniert leider nicht.

Folgende Formel habe ich auf Grundlage von aroxx Idee gebaut:
Code:
=WENN($L2 = 1; WENN($A2<>"";"KW"&KALENDERWOCHE(HEUTE();2)&"/"&JAHR(HEUTE());"-");"-")

Die Spalte L ist meine Hilfsspalte, wessen Wert entweder 1 oder 0 sein kann.
Die Formel darin lautet:
Code:
=WENN($A2="";0;1)

Das Problem bleibt aber weiterhin bestehen. Wird also ein neuer Eintrag erstellt, dann wird ein Datum eingetragen, da die Hilfsspalte nun einen Eintrag registriert. Dieser Eintrag wird aber aktualisiert, sobald ich die Excel am Folgetag öffne.

Leider kenne ich auch keinen Befehl, mit dem ich in ein zweite Zelle einen Wert (0 oder 1) setzen kann.
Wenn ich also nicht die Formel in Spalte L eliminiert bekomme, dann funktioniert mein Spiel nicht. Es soll aber auch nicht der Wert in der Hilfsspalte händisch gesetzt werden.
 
kurze google recherche hat ergeben, dass man in einer Formel wohl keine "remote" Zellen modifizieren kann :(
Mal sehen ob mir noch was einfällt...
 
Das wird ohne VBA nix und selbst wenn, haste dann wieder "Formelgefrickel"...

Am Besten mit VBA nen Event-Listener auf dein Tabellenblatt legen, welcher dann auslöst, wenn etwas geändert wird.
 
Ich zweifele sogar in dem Sinne VBA an.

Mir käme nur ein Aktionsmakro in den Sinn das auf eine Änderung in der (Anfangs leeren) Zelle reagiert und wenn leer die Woche einträgt und die Zelle sperrt.

Statische händische Eingaben lassen sich mühelos überschreiben. Was du am Ende willst ist eine Datenbank und deren Fähigkeiten so ein Zeitstempel nativ. zu machen ist.

CN8
 
Nein eine Datenbank brauche ich nicht, sonst hätte ich schon eine aufgesetzt.
Es geht auch ohne Marko und Formel. Die Kalenderwochen müssen und werden aktuelle, dann eben von Hand eingegeben. Es ist keine wertkritische Eintragung.
 
heute() liefert immer das aktuelle Datum. kannst halt z.b. 24-10 eingeben, was relativ schnell geht.
wenns viele zeilen sind kann man erst heute() verwenden und dann kurz vorm speichern die spalte kopieren und neu einfügen - er lässt die Formeln dann weg (ist aber immer ein dummer Mehraufwand)

hatte das Problem auch schonmal und nix gefunden

ich habe in meiner Tabelle z.b. 1. spalte das Datum (hier muss z.b. 24-10 eingetragen werden - er wandelt es automatisch in 24.10.2017 um)
spalte 2 ist diese formel:
=WENNFEHLER(KÜRZEN((A4072-DATUM(JAHR(A4072+3-REST(A4072-2;7));1;REST(A4072-2;7)-9))/7)&TEXT(A4072;"");" ")
die zeile ist btw 4072 ^^
excel.gif
 
Ich bin mal ketzerisch :heilig:
Ist das auch die offizielle Wochennummern-Formal nach DIN?
CN8
 
Wieso sollte ich etwas formal nach DIN machen müssen und auf welche DIN beziehst du dich, was die Angabe der Kalenderwoche betrifft.
 
Vermutlich weil wir in Deutschland sind? ;)
 
naja habs anders gelöst:

1) immer wenn in a2 ne Änderung ist wird in Spalte E das aktuelle Datum gesetzt

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    
    If (Target.Column = 1 And Target.Row = 2) Then
        Range("E" & Target.Row).Value = Date
    Else
        Exit Sub
    End If
End Sub

dann deine formel einfach anpassen:

Code:
=WENN($A2<>"";"KW"&KALENDERWOCHE(E2;2)&"/"&JAHR(E2);"-")

und fertig ist dein datum das sich bei zellinteraktion einträgt


Gruß

Harry2k
 
Nitschi66 schrieb:
Ja... aber das ist doch jetzt mittels VBA gelöst Harry2k.
Die Vorgabe war ja, das ohne VBA hin zu bekommen.

Das ist nun mal nicht möglich ohne VBA!
JETZT() und HEUTE() aktualisieren sich nun mal jeden Tag. Das ist der Sinn dieser Funktionen.
Weil HEUTE() wäre nicht HEUTE() wenn er GESTERN(), VORGESTERN() oder sonstwas ausgibt.
 
Hallo Harry,

danke für deinen VBA Code. So hätte ich es auch gelöst mit VBA. Aber passt schon.

@DPXone: Ich dachte Anfangs Jetzt würde einen Zeitstempel darstellen. Soetwas wie mach jetzt eine Aufnahme.
 
Zurück
Oben