Tutorial: Automatischer Zeitstempel bei Dateneingabe
Hier ist ein ausführliches Tutorial, wie du in Excel oder Google Sheets automatisch einen Zeitstempel (Datum und Uhrzeit) erstellst, sobald ein Wert in einer Zelle geändert wird.
In vielen Listen (z. B. Bestandslisten, Status-Tracking oder Logbüchern) ist es wichtig zu wissen, wann ein Eintrag zuletzt aktualisiert wurde. Da die Standard-Funktion =JETZT() sich bei jeder Änderung im Dokument aktualisiert, zeige ich dir hier Lösungen, die den Zeitstempel fixieren.
Methode 1: Excel (mit VBA-Makro) – Die stabilste Lösung
Dies ist die beste Methode für Excel-Desktop, da der Zeitstempel festgeschrieben wird und sich nie wieder ändert.
Schritt 1: Den Editor öffnen
- Öffne deine Excel-Datei.
- Drücke
ALT+F11, um den VBA-Editor zu öffnen. - Suche im linken Projekt-Explorer das Tabellenblatt, auf dem der Zeitstempel erscheinen soll (z. B. "Tabelle1").
- Mache einen Doppelklick darauf.
Schritt 2: Den Code einfügen
Kopiere den folgenden Code in das weiße Fenster:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SpalteZumUeberwachen As Integer
Dim SpalteFuerZeitstempel As Integer
' Konfiguration:
SpalteZumUeberwachen = 1 ' Spalte A wird überwacht
SpalteFuerZeitstempel = 2 ' Spalte B erhält den Zeitstempel
If Target.Column = SpalteZumUeberwachen Then
If Target.Value <> "" Then
' Zeitstempel in die Nachbarzelle schreiben
Cells(Target.Row, SpalteFuerZeitstempel).Value = Now
' Formatierung ohne Jahreszahl
Cells(Target.Row, SpalteFuerZeitstempel).NumberFormat = "DD.MM. hh:mm"
Else
' Zeitstempel löschen, wenn Zelle geleert wird
Cells(Target.Row, SpalteFuerZeitstempel).ClearContents
End If
End If
End Sub
Schritt 3: Speichern
Speichere die Datei unbedingt als Excel-Arbeitsmappe mit Makros (.xlsm), sonst geht der Code verloren.
Methode 2: Google Sheets (mit Apps Script)
In Google Sheets funktioniert VBA nicht. Hier nutzt man ein einfaches Skript.
- Gehe auf Erweiterungen > Apps Script.
- Lösche alles im Editor und füge diesen Code ein:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
// Konfiguration: Überwache Spalte 1 (A), schreibe in Spalte 2 (B)
if (range.getColumn() == 1) {
var timestampCell = sheet.getRange(range.getRow(), 2);
if (range.getValue() == "") {
timestampCell.clear();
} else {
var now = new Date();
// Formatierung ohne Jahreszahl
var formattedDate = Utilities.formatDate(now, "GMT+1", "dd.MM. HH:mm");
timestampCell.setValue(formattedDate);
}
}
}
- Klicke auf das Speichern-Symbol und benenne das Projekt (z.B. "Zeitstempel"). Der Zeitstempel erscheint nun automatisch.
Methode 3: Excel (Ohne Makros – Iterative Berechnung)
Wenn du keine Makros nutzen darfst, gibt es einen Trick mit "Zirkelbezügen".
Schritt 1: Iteration aktivieren
- Gehe auf Datei > Optionen > Formeln.
- Aktiviere das Häkchen bei Iterative Berechnung aktivieren. (Maximale Iterationszahl: 1).
Schritt 2: Die Formel eingeben
Angenommen, du gibst Daten in Spalte A ein und der Zeitstempel soll in Spalte B stehen. Gib in Zelle B2 folgende Formel ein:
=WENN(A2<>"";WENN(B2<>"";B2;JETZT());"")
Schritt 3: Zellen formatieren (Ohne Jahreszahl)
Damit die Jahreszahl ignoriert wird, musst du die Zelle formatieren:
- Markiere die Zelle mit dem Zeitstempel.
- Drücke
STRG+1. - Wähle Benutzerdefiniert.
- Gib unter "Typ" folgendes ein:
TT.MM. hh:mm(oderDD.MM. hh:mm).
Zusammenfassung der Formatierung
Egal welche Methode du nutzt, die Anzeige ohne Jahr steuerst du über das Zellenformat. Hier sind die gängigsten Codes:
TT.MM. hh:mm-> 14.05. 14:30TTT, hh:mm-> Di, 14:30hh:mm:ss-> Nur die Uhrzeit (Stunden:Minuten:Sekunden)
Hinweis: Die VBA- und Skript-Lösungen sind zu bevorzugen, da die Formel-Lösung (Methode 3) instabil werden kann, wenn man die iterative Berechnung versehentlich wieder deaktiviert.