Tutorial: Automatischer Zeitstempel bei Dateneingabe

Melden

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

  1. Öffne deine Excel-Datei.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Suche im linken Projekt-Explorer das Tabellenblatt, auf dem der Zeitstempel erscheinen soll (z. B. "Tabelle1").
  4. 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.

  1. Gehe auf Erweiterungen > Apps Script.
  2. 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);
    }
  }
}
  1. 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

  1. Gehe auf Datei > Optionen > Formeln.
  2. 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:

  1. Markiere die Zelle mit dem Zeitstempel.
  2. Drücke STRG + 1.
  3. Wähle Benutzerdefiniert.
  4. Gib unter "Typ" folgendes ein: TT.MM. hh:mm (oder DD.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:30
  • TTT, hh:mm -> Di, 14:30
  • hh: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.

0