Excel: Automatischer Zeitstempel bei Dateneingabe (Fixiert)
Hier ist ein ausführliches Tutorial, wie du in Excel einen automatischen Zeitstempel erstellst, der sich beim ersten Eintragen von Daten generiert, aber nicht mehr verändert, wenn die Daten später bearbeitet werden.
Ich zeige dir die zwei gängigsten Methoden: Die professionelle Lösung via VBA (Makro) und den Trick über iterative Berechnungen.
Wenn man in Excel die Funktionen =HEUTE() oder =JETZT() nutzt, aktualisieren sich diese bei jeder Änderung im Dokument. Für eine Dokumentation (z. B. "Eingegangen am") ist das unbrauchbar. Hier sind die Lösungen:
Methode 1: Die stabilste Lösung via VBA (Makro)
Diese Methode ist am sichersten, da sie im Hintergrund arbeitet und keine komplizierten Formeln benötigt.
Schritt 1: Den VBA-Editor öffnen
- Öffne deine Excel-Datei.
- Drücke
ALT+F11, um den VBA-Editor zu öffnen. - Suche links im Projekt-Explorer den Namen deines Tabellenblatts (z. B. Tabelle1) und mache einen Doppelklick darauf.
Schritt 2: Den Code einfügen
Kopiere den folgenden Code und füge ihn in das weiße Fenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SpalteEingabe As Integer
Dim SpalteZeitstempel As Integer
' KONFIGURATION:
SpalteEingabe = 1 ' Spalte A: Hier gibst du Daten ein
SpalteZeitstempel = 2 ' Spalte B: Hier erscheint das Datum
' Überprüfen, ob die Änderung in der gewünschten Spalte erfolgte
If Target.Column = SpalteEingabe Then
' Nur wenn die Zelle nicht leer ist und der Zeitstempel noch leer ist
If Target.Value <> "" And Cells(Target.Row, SpalteZeitstempel).Value = "" Then
Cells(Target.Row, SpalteZeitstempel).Value = Now
' Formatierung festlegen (Datum und Uhrzeit)
Cells(Target.Row, SpalteZeitstempel).NumberFormat = "dd.mm.yyyy hh:mm:ss"
End If
End If
End Sub
Schritt 3: Datei speichern
- Schließe das VBA-Fenster mit dem
Xoben rechts. - Wichtig: Speichere deine Excel-Datei als Excel-Arbeitsmappe mit Makros (.xlsm), sonst geht der Code verloren!
Funktionsweise: Sobald du in Spalte A etwas schreibst, prüft Excel, ob in Spalte B schon etwas steht. Wenn nicht, wird die aktuelle Zeit eingetragen. Wenn du den Text in Spalte A änderst, bleibt der Zeitstempel in Spalte B unberührt.
Methode 2: Ohne Makros (Iterative Berechnung)
Falls du keine Makros nutzen darfst, gibt es einen "Trick" über die Einstellungen.
Schritt 1: Iterative Berechnung aktivieren
- Gehe auf Datei > Optionen.
- Wähle links den Punkt Formeln.
- Setze einen Haken bei Iterative Berechnung aktivieren. (Maximale Iterationszahl: 1 ist ausreichend).
- Klicke auf OK.
Schritt 2: Die Formel anwenden
Nehmen wir an, deine Daten stehen in Spalte A und der Zeitstempel soll in Spalte B (ab Zeile 2) erscheinen.
Gib in Zelle B2 folgende Formel ein:
=WENN(A2<>"";WENN(B2<>"";B2;JETZT());"")
Schritt 3: Zellen formatieren
Damit du nicht nur eine komische Zahl siehst:
- Markiere die Zellen in Spalte B.
- Drücke
STRG+1. - Wähle unter "Zahlen" das Format Datum oder Benutzerdefiniert (z. B.
TT.MM.JJJJ hh:mm).
Wie das funktioniert: Das ist ein Zirkelbezug. Die Formel sagt: "Wenn in A2 etwas steht, prüfe: Wenn in mir selbst (B2) schon ein Wert steht, behalte ihn bei. Wenn nicht, nimm die aktuelle Zeit. Wenn A2 leer ist, bleibe leer."
Vergleich: Welche Methode soll ich nutzen?
| Merkmal | VBA (Makro) | Iterative Berechnung (Formel) |
|---|---|---|
| Sicherheit | Sehr hoch, Zeitstempel ist "hart" geschrieben. | Mittel, Formel kann versehentlich gelöscht werden. |
| Komplexität | Einmaliges Einrichten des Codes. | Einfache Formel, aber Einstellung nötig. |
| Dateiformat | Muss .xlsm sein. |
Kann normales .xlsx bleiben. |
| Nachteil | Makros müssen vom Nutzer aktiviert werden. | Wenn "Iterative Berechnung" am fremden PC aus ist, gibt es Fehlermeldungen. |
Empfehlung: Für professionelle Listen oder geteilte Dokumente ist die VBA-Methode deutlich zuverlässiger. Für den schnellen Eigenbedarf ist die Formel-Methode ein genialer Hack.