Wenn Funktion nur einmal ausführen.
#1
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. 
.xlsx   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?

MfG Bikerdad
Antworten Top
#2
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)
Antworten Top
#3
Vielen Dank für deine Antwort. Leider löst es mein Problem nicht das die Kollegen es immer wieder vergessen die Uhrzeit einzutragen.
Antworten Top
#4
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)
Antworten Top
#5
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

d`r Bastler von den VBAsteleien.de
Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
Antworten Top
#6
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


Angehängte Dateien
.xlsx   test (1).xlsx (Größe: 22,08 KB / Downloads: 1)
[-] Folgende(r) 1 Nutzer sagt Danke an echo für diesen Beitrag:
  • d'r Bastler
Antworten Top
#7
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

d`r Bastler von den VBAsteleien.de
Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
Antworten Top
#8
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Bikerdad
Antworten Top
#9
Vielen Dank das war genau das was ich gesucht habe.
Antworten Top
#10
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.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste