Ich muss eine Tabelle erstellen indem die Ankunftzeiten und Nummerschilder der ankommenden LKW festgehalten werden. Leider vergessen viele Kollegen die Zeit einzutragen und ich wollte das automatisieren.
test.xlsx (Größe: 16,56 KB / Downloads: 5)
Leider wird die Zeitangabe in Spalte C immer wieder überschrieben sobald ich etwas in Spalte D eintrage. Gibt es da eine einfache Lösung?
Moin! Wie Du bereits festgestellt hast, handelt es sich bei =JETZT() um eine so genannte volatile Funktion. Sie aktualisiert sich IMMER, wenn Du in der Tabelle etwas änderst.
Die aktuelle (unveränderliche(!)) Zeit trägt man am einfachsten mit folgendem Shortcut in die vorher markierte Zelle: Strg+Umschalt+: (Doppelpunkt)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Also erwartest Du jetzt von mir, dass ich hier im Forum für Ordnung bei euren unzuverlässigen Mitarbeitern sorge? Für so etwas gibt es disziplinarische Maßnahmen.
Eines sei jedoch gewiss: Eine Formel kann nicht schätzen, dies kann nur der Mitarbeiter an der Tastatur!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
XL kann ja extrem viel, aber eine Funktion Mitarbeiter_zum-Eintrag_der_Uhrzeit_auffordern() habe ich auch noch nicht entdeckt
Allerdings ließe sich das Problem mit VBA lösen: Wird in der Spalte A Kennzeichen etwas eingetragen, schreibt XL/VBA automatisch die aktuelle Zeit in die nächste Spalte (vorher als Uhrzeit formatiert).
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Cells(Target.Row, 2) = Time End If End Sub
Dieser Code ist natürlich nur ein Anfang, der viele weitere Automatismen ermöglichen kann, wie den Abgleich mit einer Liste registrierter Kennzeichen. Fallstrick ist aber auch hier: änderst Du später das Kennzeichen, wird auch mit dieser Technik die Zeit aktualisiert. Hier kann man sich aber z.B. mit einem automatischen Blattschutz behelfen.
Grüße
d`r Bastler von den VBAsteleien.de Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
04.06.2023, 23:42 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2023, 23:42 von echo.)
Zitat:XL kann ja extrem viel, aber eine Funktion Mitarbeiter_zum-Eintrag_der_Uhrzeit_auffordern() habe ich auch noch nicht entdeckt
Hallo Man könnte in der Datengültigkeit prüfen ob die Zelle daneben schon einen Eintrag (Uhrzeit) hat. Ist das nicht der Fall lässt die Datengültigkeit keinen Eintrag zu und fordert dazu auf vorab die Uhrzeit einzufügen:
Kleine Ergänzung zu Holgers richtig gutem Vorschlag:
Und dann kämen wieder Ralf's shortcuts ins Spiel:
Strg + Punkt = Datum Strg + Doppelpunkt = Uhrzeit
Merkhilfe: Datumse werden durch Punkte getrennt, Uhrzeiten durch den Doppelpunkt
Und dann noch -soweit sachlich sinnvoll- die Datengültigkeit der Kennzeichen über ein Dropdown abfangen. Der MA, der das nicht erfüllen kann, wird wegen Sabotage abgemahnt
Grüße
d`r Bastler von den VBAsteleien.de Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
wobei man noch erwähnen sollte, dass die Iterations-Option problematisch sein kann. Zumindest wir sind auf Dauer damit nicht glücklich geworden und letztendlich auf eine Makro-Variante umgestiegen.
Woran das liegt? Die Formel-Lösung (=WENN(B1<>"";WENN(A1="";JETZT();A1);"") in Zelle A1) braucht die gesetzte Iterations-Option. Ohne Iteration bleibt die Zelle leer. Jetzt ist es allerdings so, dass die Iterations-Einstellung zwar in der Datei gespeichert wird, aber global gilt. Leider wird beim Speichern der aktuelle Zustand (und nicht der ursprüngliche Zustand) in der Datei gespeichert. Ich bin mir jetzt nicht mehr sicher, ob die erste oder die zuletzt geöffnete Datei den Zustand bestimmt. Auf alle Fälle ist es so, dass sich der Zustand sozusagen willkürlich ändern kann. Und ab dem Zeitpunkt werden dann keine Zeitstempel mehr erfasst. Wenn man das nicht schnell bemerkt, fehlen jede Menge der Zeitstempel und lassen sich auch nicht mehr vernünftig rekonstruieren.
Fazit: solange immer nur eine einzige Datei geöffnet ist, ist die Formellösung brauchbar. Sobald jedoch auf dem selben Rechner auch andere Excel-Dateien geöffnet werden, ist die Formel-Methode nicht zuverlässig.