Clever-Excel-Forum

Normale Version: Wenn Funktion nur einmal ausführen.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo 

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. [attachment=48349] Leider wird die Zeitangabe in Spalte C immer wieder überschrieben sobald ich etwas in Spalte D eintrage. Gibt es da eine einfache Lösung?

MfG Bikerdad
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
Vielen Dank für deine Antwort. Leider löst es mein Problem nicht das die Kollegen es immer wieder vergessen die Uhrzeit einzutragen.
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!
XL kann ja extrem viel, aber eine Funktion Mitarbeiter_zum-Eintrag_der_Uhrzeit_auffordern() habe ich auch noch nicht entdeckt 19

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
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:

> Spalte mit Trailer markieren > oberste linke Zelle = D12
> Menü Daten > Datenüberprüfung > Einstellungen > Zulassen > Benutzerdefiniert > Formel: =C12<>""
> Leere Zellen ignorieren [ ] aus
> Reiter "Fehlermeldung" > Fehlermeldung: "Uhrzeit fehlt, bitte eingeben"
> OK

Gruß Holger
Moin allerseits

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 Wink

Grüße
Hallöchen,

oder nutze einfach mal die Suche hier im Forum nach dem Stichwort Zeitstempel.
Im Beispielbereich findest Du z.B. eine Formellösung - Excel-Zeitstempel-Datumsstempel-per-Formel.
Vielen Dank das war genau das was ich gesucht habe.
Hi,

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.