Änderungsdatum einzelner Excel-Zellen automatisch protokollieren
In einer Kalkulationstabelle möchten Sie das Datum der letzten Änderung einiger wichtiger Zellen erfassen. Die manuelle Eingabe ist Ihnen dafür aber zu umständlich. Bisherige Versuche mit der Funktion “HEUTE()” haben leider noch nicht zum Erfolg geführt.
Um Änderungen an den Zellen automatisch zu erfassen und den Zeitpunkt gleichzeitig zu protokollieren, müssen Sie ein Ereignismakro verwenden. Öffnen Sie zunächst Ihre Kalkulation und führen Sie dort den Befehl “Extras | Makro | Visual Basic-Editor” aus. Mit “Ansicht | Projektexplorer” öffnen Sie das Fenster des Projektexplorers. Dort markieren Sie in der Struktur die gewünschte Tabelle und wählen dann “Ansicht | Code”. Nun geben Sie rechts im neuen Codefenster folgende Makrozeilen ein oder Sie kopieren sie direkt von dieser Seite:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If (Target.Column) = 1 Then If Target.Row = 4 Then Cells(4, 3) = Now If Target.Row = 5 Then Cells(5, 3) = Now If Target.Row = 6 Then Cells(6, 3) = Now End If End Sub
Beenden Sie die Eingabe mit “Datei | Schließen und zurück zu Microsoft Excel”. Dieses Ereignismakro ist dem einzelnen Tabellenblatt zugeordnet. Sobald sich der Wert einer beliebigen Zelle dieser Tabelle ändert, wird das Makro automatisch ausgeführt.
Die zweite Zeile des Listings gibt die Spalte (“Column”), die Zeilen drei bis 5 die Zeilen (“Row”) der zu überwachenden Zellen an. Die Funktion “Now” ermittelt automatisch das aktuelle Datum einschließlich der Uhrzeit.
Das Beispielmakro erwartet die Zellen in der ersten Spalte und prüft die Zeilen “4″ bis “6″. Bei einer Änderung protokolliert es in der dritten Spalte derselben Zeile den Zeitpunkt. Diese Bedingungen können Sie beliebig an eigene Erfordernisse anpassen.
Hinweis: Das Makro hält immer nur den Zeitpunkt der letzten Änderung fest. Vorangegangene Zugriffe sind nicht ersichtlich.
Ähnliche Beiträge:
Gilt für: Excel 97, Excel 2000, Excel XP



Super lösung funktioniert tiptop. Ich habe diese eingebaut um das Datem der Indexierunge einer Liste automatisch zu generieren. Das funktioniert super bin begeistern. Vielen dank für den nütlichen Tip
was wenn ich nicht nur die Änderungen von Zeile 4, 5 und 6 protokolliert haben will, sondern die Änderungen in der entsprechenen Spalte im ganzen Sheet?
Super habe es gleich ausprobiert es funktioniert.
Leider nur wenn ich die Zelle mit Enter bestätige,bei einer Verknüpfung die ich nicht bestätige funktioniert es leider nicht.
Antwort zu Mikes Frage:
Überwacht wird Spalte 8, das Datum erscheint in Spalte 9 für alle Zeilen!
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If (Target.Column) = 8 Then
Cells(Target.Row, 9) = Now
End If
End Sub
Hallo Zusammen,
ist es denn auch möglich, dass ich mehrere Spalten auf Änderung überwache?
Zum Beispiel:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If (Target.Column) = 8-13 Then
Cells(Target.Row, 9) = Now
End If
End Sub
Habe schon an ein paar Versuchen rumgetüffelt, komme aber leider auf keinen grünen Zweig.
Ich hoffe Ihr könnt mir weiter helfen.
Vielen Dank schon vorab!
Gruß Matze