Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeitstempel bleibend

Zeitstempel bleibend
21.07.2022 16:31:17
Jürgen
Hallo liebe Excelpertinnen und Excelperten,
ich hirne jetzt schon ne Stunde an einem Problem rum, das so simpel scheint, aber ich doch nicht gelöst bekomme.
Was ich erreichen will ist folgendes:
Ich habe eine Liste, mit der viele Personen arbeiten. Die Leute bearbeiten die Liste immer insofern, dass sie in die unterste freie Zeile Einträge von Spalte A bis Q machen.
Ich würde nun gerne in Spalte R bleibend das Datum und die Uhrzeit abspeichern, sobald in Spalte A ein Eintrag gemacht wurde.
Also angenommen der Kollege macht in Zeile 2588, der aktuell nächsten leeren Zeile in Zelle A2588 einen Eintrag den er mit der Tab-Taste bestätigt, dann soll in Zelle R bleibend das Datum und die Uhrzeit, und....wenn das möglich ist, am besten auch noch der Anwender abgespeichert werden, also der, der am PC angemeldet ist, eingetragen werden. Dieses Datum und Uhrzeit soll sich danach aber nicht mehr ändern. Ich habe das mit Jetzt() und Heute() probiert, aber das aktualisiert sich ja immer mit jedem öffnen der Arbeitsmappe.
Ich hab schon viel gegoogelt, aber scheinbar gibt es keine Formel die sich einmalig dieses Datum holt und dann belässt. Viele schreiben von einer VBA-Lösung aber irgendwie krieg ich da auch nicht das wie ich es hier brauche.
Weiß von euch jemand einen Rat ?
viele Grüße
Jürgen
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitstempel bleibend
21.07.2022 16:39:40
Oberschlumpf
Hi Jürgen,
"ich hirne jetzt schon ne Stunde an einem Problem rum"
Und das MIT deiner Datei!
Kannst du uns bitte per Upload eine Bsp-Datei zeigen, damit wir nich - ohne - Datei "hirnen" müssen?
Die Datei sollte alles Wichtige an den richtigen Stellen enthalten, damit wir a) deine Beschreibung verstehen und b) testen können.
Ciao
Thorsten
Anzeige
AW: Zeitstempel bleibend
21.07.2022 16:44:09
{Boris}
Hi,
und was soll passieren, wenn jemand versehentlich bzw. ne falsche Eingabe macht bzw. diese wieder löscht?
VG, Boris
Sorry - falsch angehängt...oT
21.07.2022 16:44:29
{Boris}
AW: Zeitstempel bleibend
21.07.2022 16:44:37
{Boris}
Hi,
und was soll passieren, wenn jemand versehentlich bzw. ne falsche Eingabe macht bzw. diese wieder löscht?
VG, Boris
Anzeige
AW: Zeitstempel bleibend
21.07.2022 16:45:44
ralf_b
komisch, und dabei wurde Zeitstempel die letzten Tage mehrfach nachgefragt.
Erkläre doch mal genauer was es mit der Datei auf sich hat. Liegt sie auf einem Server? Evtl. Sharepoint oder Teams?
Wie ist sie freigegeben?
AW: Zeitstempel bleibend
21.07.2022 17:03:51
Jürgen
Hallo Ralf und Boris,
also wenn einer eine Fehleingabe macht dann soll der Zeitstempel einfach so in der Zelle bleiben, wobei das eigentlich normal nicht vorkommt. Ihr sagt, hier sei dieses Thema zuletzt häufiger gefallen.....ich habe die Forumsliste nach Zeitstempel abgesucht....aber es kam kein Treffer.
Ich hab hier mal ein Beispielfile eingehängt, wo ich es mit einer Formel versucht hab, aber das Problem ist, dass die Spalte R sich automatisch mit jedem öffnen des Files aktualisiert. Genau das soll nicht passieren. Einmal in eine leere Zeile, also in der die Zelle A leer ist, dann soll dort in Zelle R bleibend das aktuelle Datum mit Uhrzeit und wie gesagt vielleicht noch der PC-User aufgeführt werden. Ob das im Excel geht weiß ich aber gar nicht.
viele Grüße
Jürgen
Anzeige
AW: Zeitstempel bleibend
21.07.2022 17:12:30
Jürgen
Ist die Datei hochgeladen ? Ich sehe sie nicht, obwohl die Meldung kam, dass sie hochgeladen und umbenannt wurde.
vG
Jürgen
AW: Zeitstempel bleibend
21.07.2022 17:14:31
Jürgen
Wer lesen kann ist klar im Vorteil........sorry......habe überlesen dass ich den Link einfügen muss.
https://www.herber.de/bbs/user/154296.xlsm
Anzeige
AW: Zeitstempel bleibend
21.07.2022 17:20:52
{Boris}
Hi,
füg diesen Code mal in das Codemodul der entsprechenden Tabelle ein. Die Einträge n Spalte R vorher alle löschen.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERR_EXIT
With Target
If .Column = 1 Then
If .Count = 1 Then
If Cells(.Row, "R") = "" Then
Application.EnableEvents = False
Cells(.Row, "R") = Now
Cells(.Row, "S") = Environ$("Username")
End If
End If
End If
End With
ERR_EXIT:
Application.EnableEvents = True
End Sub
VG, Boris
Anzeige
AW: Zeitstempel bleibend
22.07.2022 07:18:08
Jürgen
Hi Boris,
hab das gerade mal ausprobiert...........funktioniert perfekt. Supervielen Dank.
By the way...weißt du vielleicht zufällig ob man sowas auch machen kann um herauszufinden wann und wer die Liste "sortiert" hat ? Wir haben immer mal wieder das Problem, dass Kollegen die Liste nach dem Kunden sortieren, obwohl allen gesagt wurde dass sie das nicht machen sollen. Das Problem ist nämlich, dass das Sortieren uns Links zerschießt die dann wieder mühsam hergestellt werden können. Von daher wäre ein If sortiert dann schreibe Datum Uhrzeit und User in eine Zelle auch zielführend um dem Kollegen dann mal eindringlicher sagen zu können......lass das.
Danke nochmal für die Lösung von Dir. Hat mir erstmal prima weitergeholfen.
viele Grüße
Jürgen
Anzeige
AW: Zeitstempel bleibend
22.07.2022 10:44:42
Jürgen
Hallo Pierre, vielen Dank für Deinen Link zu einem Lösungsansatz. Ich habe meine Datei gerade mal gesichert und den Code dann eingefügt, aber man kann dann weiterhin ungehemmt sortieren. Da passiert irgendwie nichts was das verhindert.
Anzeige
AW: Zeitstempel bleibend
22.07.2022 10:47:22
Pierre
Hallo Jürgen,
war nur ne Idee.
Einfacher mit Bors' Version, schau da bitte nach. Dann musst du auch nicht mit dem Holzhammer (oder Skalpell, je nachdem wie man es betrachtet) irgendwo rummurksen.
Gruß Pierre
Blattschutz
22.07.2022 10:41:52
{Boris}
Hi,
dafür würde ich das Blatt schützen (Schutzoption "Sortieren" natürlich nicht aktivieren). Alles, was beschreibbar sein soll, vorher in den Zelloptionen entsperren.
Ein Sortieren ist dann nicht mehr möglich.
VG, Boris
Anzeige
AW: Blattschutz
22.07.2022 10:52:22
Jürgen
Hallo Boris,
ja, den Gedanken hatte ich auch schon, aber dann funktionieren meine Makros nicht mehr. Ich habe ein Makro das die Datei speichert und schließt und vorher je Spalte ganz bestimmte Filtereinstellungen einstellt.......und das funktioniert dann nicht mehr.
Ich habe gerade festgestellt, wenn meine Kollegen z.B. in die Zelle nicht hineinschreiben, sondern den Inhalt einfach von oben nach unten ziehen, sprich kopieren, dann wird der Zeitstempel nicht erzeugt.......also nur wenn man tatsächlich in die Zelle schreibt.
Zu Deinem Code habe ich auch noch eine Verständnisfrage. Was passiert hier in dem Code:
With Target
If .Column = 1 Then
If .Count = 1 Then
Ich hatte nämlich die Idee, dass nicht auf die Zelle in Spalte A geschaut werden soll, sondern in Spalte D, weil können die Kollegen nichts von oben runterziehen und kopieren, sondern müssen hier tatsächlich tippen. Ich dachte dann dass ich in Deinem Code einfach nur die 1 zur 4 machen müsste (wegen Spalte 4), aber da zeigte sich mir dann, dass ich den Code gar nicht verstanden hab.
Kannst Du mir hier nochmal weiterhelfen ?
viele Grüße
Jürgen
Anzeige
Ein paar Antworten...
22.07.2022 11:06:27
{Boris}
Hi,
aber dann funktionieren meine Makros nicht mehr.
Dann muss das Makro entsprechend angepasst werden (temporär Schutz aufheben und wieder setzen - oder auch direkt schützen mit UserInterfaceOnly).
sondern den Inhalt einfach von oben nach unten ziehen
Kopieren / "Ziehen" und Ausschneiden sind immer Gift für jede Mappe. Würde ich auf Todesstrafe verbieten - oder aber auch mittels VBA unterbinden (was dann wiederum etwas aufwändiger sein kann).
Was passiert hier in dem Code:
With Target
If .Column = 1 Then 'prüft, ob die Eingabe in Spalte 1 (=A) erfolgt
If .Count = 1 Then 'prüft, ob Mehrfacheingaben mit Strg+Enter getätigt wurden - falls ja, steigt das Makro aus

VG, Boris
Anzeige
AW: Ein paar Antworten...
22.07.2022 11:33:09
Jürgen
Hi Boris
Was passiert hier in dem Code:
With Target
If .Column = 1 Then 'prüft, ob die Eingabe in Spalte 1 (=A) erfolgt
If .Count = 1 Then 'prüft, ob Mehrfacheingaben mit Strg+Enter getätigt wurden - falls ja, steigt das Makro aus
heißt das, dass ich das If.Column = 4 setzen muss damit in Spalte D geschaut wird ? Hm....ich meine das hätte ich vorhin probiert, aber ich teste das gleich nochmal.
Die zweite Zeile versteh ich immer noch nicht ganz. Was ist mit "Mehrfacheingaben mit Strg+Enter gemeint ?
Danke schon mal.
vG
Jürgen
Anzeige
AW: Ein paar Antworten...
22.07.2022 11:38:12
{Boris}
Hi,
Range("D10").End(xlDown).Offset(-1).Value = "ersetzen"
Exakt!
Was ist mit "Mehrfacheingaben mit Strg+Enter gemeint ?
Man kann mehrere Zellen gleichzeitig beschreiben, indem man den Bereich markiert (z.B. A1:D5 - das sind 20 Zellen), einen Text schreibt und nun nicht mit Enter die Eingabe abschließt sondern mit Strg+Enter. Und das wird mit .Count = 1 geprüft - im konkreten Fall wären es ja nicht 1 Zelle sondern 20 - und dafür hab ich das Makro eben (noch) nicht ausgelegt (kann man alles noch einbauen - aber Deine Datei hat eh aus meiner Sicht noch zu viele offene Flanken für eine Multi-User-Bearbeitung).
VG, Boris
Anzeige
Sorry - falschen Text eingefügt...
22.07.2022 11:39:30
{Boris}
In der Zwischenablage lag noch was anderes ("Range("D10").End(xlDown).Offset(-1).Value = "ersetzen" - das gehört hier gar nicht hin)
heißt das, dass ich das If.Column = 4 setzen muss
Exakt!
VG, Boris
AW: Sorry - falschen Text eingefügt...
22.07.2022 15:49:40
Jürgen
Hat geklappt.....perfekt. Ich verfolge nächste Woche wenn die Zeit reicht aber noch Deinen Tipp mit dem Schreibschutz der Tabelle indem ich versuche in mein Makro diesen Schreibschutz am Anfang drin zu haben und mit dem Start des Makros zu entfernen und als letzten Schritt wieder zu setzen. Mal schauen ob ich das hinkriege. Auf jeden Fall nochmal ganz herzlichen Dank für Deine Mühe und allen die sich dem Problem gewidmet haben. Ihr macht hier echt ne super Arbeit.
schönes Wochenende.
VG
Jürgen
Anzeige
AW: Zeitstempel bleibend
22.07.2022 11:46:12
GerdL
Hallo,
markiere mal mehrere Zellen, schreibe "a", drücke die Kombination STRG + Enter.
Nimm statt .Count für noch chaotischere Eingaben .CountLarge .
Gruß Gerd
;
Anzeige
Anzeige

Infobox / Tutorial

Zeitstempel in Excel: So bleibt er bleibend


Schritt-für-Schritt-Anleitung

Um einen Zeitstempel in Excel zu erstellen, der bei einer Eingabe in einer bestimmten Zelle bleibt, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Anleitung:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Doppelklicke auf das Arbeitsblatt, in dem du den Zeitstempel einfügen möchtest (z.B. "Tabelle1").

  3. Füge den folgenden Code in das Codemodul ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo ERR_EXIT
    With Target
       If .Column = 1 Then ' Prüft, ob die Eingabe in Spalte A erfolgt
           If .Count = 1 Then ' Prüft, ob nur eine Zelle geändert wurde
               If Cells(.Row, "R") = "" Then ' Nur wenn die Zelle R leer ist
                   Application.EnableEvents = False
                   Cells(.Row, "R") = Now ' Aktuelles Datum und Uhrzeit
                   Cells(.Row, "S") = Environ$("Username") ' Benutzername speichern
               End If
           End If
       End If
    End With
    ERR_EXIT:
    Application.EnableEvents = True
    End Sub
  4. Schließe den VBA-Editor und teste die Eingabe in Spalte A. Der Zeitstempel sollte jetzt in Spalte R erscheinen.


Häufige Fehler und Lösungen

  • Der Zeitstempel aktualisiert sich ständig: Stelle sicher, dass du den Zeitstempel nur einmal setzt, wenn die Zelle in Spalte A geändert wird. Der obige Code überprüft dies und fügt nur dann den Zeitstempel hinzu, wenn die Zelle R leer ist.

  • Der Zeitstempel wird nicht angezeigt: Überprüfe, ob die Zelle in Spalte R tatsächlich leer ist, bevor der Zeitstempel hinzugefügt wird.

  • Fehler beim Ausführen des Makros: Achte darauf, dass Makros in deiner Excel-Datei aktiviert sind. Gehe zu Datei > Optionen > Sicherheit, um die Makros zu aktivieren.


Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, kannst du den Zeitstempel auch manuell mit der =JETZT()-Formel einfügen. Beachte jedoch, dass sich dieser Zeitstempel bei jeder Neuberechnung der Tabelle aktualisiert. Eine dauerhafte Lösung ohne Makro ist schwierig zu realisieren.


Praktische Beispiele

  1. Zeitstempel bei Eingabe: Wenn in Zelle A2 ein Wert eingegeben wird, erscheint in Zelle R2 der Zeitstempel und der Benutzername in S2.

  2. Anpassung für andere Spalten: Wenn du den Zeitstempel bei Änderungen in Spalte D speichern möchtest, ändere die Zeile If .Column = 1 Then zu If .Column = 4 Then.

  3. Speichern der Eingaben: Notiere dir, dass du die Zellen in der Spalte R vorher löschen solltest, bevor du das Makro ausführst.


Tipps für Profis

  • Schutz der Tabelle: Du kannst die Tabelle schützen, um das Sortieren und Ändern von Zellen zu verhindern. Aktiviere dazu den Blattschutz und deaktiviere die Option "Sortieren".

  • Eingabevalidierung: Überlege, Eingaben in bestimmten Zellen zu validieren, um sicherzustellen, dass die Benutzer nur gültige Daten eingeben.

  • Multi-User-Bearbeitung: Bei mehreren Benutzern solltest du den Code anpassen, um sicherzustellen, dass der Zeitstempel bei gleichzeitigen Eingaben nicht überschrieben wird.


FAQ: Häufige Fragen

1. Wie füge ich einen Zeitstempel in Excel ohne Makro ein? Es gibt keine einfache Möglichkeit, einen Zeitstempel ohne Makro bleibend zu erstellen. Die =JETZT()-Formel aktualisiert sich bei jeder Neuberechnung.

2. Was passiert, wenn ich in die Zelle kopiere, anstatt zu tippen? Der Zeitstempel wird nicht erstellt, wenn du Inhalte kopierst. Der VBA-Code prüft, ob in die Zelle eingegeben wurde.

3. Kann ich den Zeitstempel in einer anderen Spalte speichern? Ja, ändere einfach die Zeile Cells(.Row, "R") zu der gewünschten Spalte, z.B. Cells(.Row, "D").

4. Wie verhindere ich, dass Kollegen die Liste sortieren? Schütze die Tabelle und deaktiviere die Sortieroption. Achte darauf, dass dies die Funktionalität deiner Makros nicht beeinträchtigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige