Änderungprotokoll mit Timestamp

Änderungen an einer Datei protokollieren

Wenn mehrerer Mitar­beit­er an oder mit ein­er Excel-Datei arbeit­en, dann wer­den fast immer auch Änderun­gen an den Dat­en vorgenom­men. Manch­mal ist es dann auch hil­fre­ich, dass in irgend ein­er Form fest­ge­hal­ten wird, wer wann welche Änderung vorgenom­men hat. Das kann aus Grün­den der Kon­trolle oder der besseren Nach­voll­ziehbarkeit wegen geschehen.

Die eine Möglichkeit wäre, jeden der Beteiligten anzuhal­ten, jegliche Änderung an ein­er Tabelle selb­st in einem beson­deren Bere­ich festzuhal­ten. Das kön­nte dann beispiel­sweise in solch einem Tabel­lenauf­bau geschehen:

Muster für eine Änderungsprotokollierung

Muster für eine Änderung­spro­tokol­lierung

Sie sehen, dass ab Spalte D der alte Wert (der Preis aus Spalte B) einge­tra­gen wer­den soll sowie der eigene Name und das Datum der Änderung sowie die Zeit (Time­stamp, Zeit­stempel). Die Erfahrung zeigt aber, dass hier nicht jede Änderung pro­tokol­liert wird. Das muss kein bös­er Wille sein, meist ist es Nach­läs­sigkeit, gefühlter Zeit­druck oder ein ähn­licher Grund.

Da bietet es sich förm­lich an, zumin­d­est die let­zte Änderung automa­tisch zu protokol­lie­ren. Das kann ganz offen geschehen wie auch hier zu sehen oder in ver­steck­ter Form. Im let­zt­ge­nan­nten Falle müssen aber alle Beteiligten drüber informiert wer­den, dass ein solch­es Pro­tokoll (ver­steckt) geführt wird. Hier in diesem Beitrag wird nur die „offene” Vari­ante besprochen, wie auch in der Mus­ter­datei. Und es wird auch nur die let­zte Ände­rung dargestellt.

Die Mus­ter­datei mit dem oben gezeigten Auf­bau kön­nen Sie hier herun­ter­laden. Es han­delt sich um eine 2007er Ver­sion mit Makros. – Jede Änderung des Preis­es wird auto­ma­tisch ohne einen Ein­griff des Users pro­tokol­liert. Da diese Zellen gegen verse­hent­liches oder gewolltes Über­schreiben geschützt sind, kann nur das Makro Änderun­gen vor­neh­men. Wobei es für einen geübten User rel­a­tiv leicht ist, diese Funk­tion­al­ität auszuhe­beln. Beacht­en Sie bitte beim Aufruf, dass Sie die Aus­führung von VBA-Code prinzip­iell getren­nt bestäti­gen müssen. Mehr Details dazu find­en Sie hier in unserem Blog. Einige Hin­weise zu der Datei sind den­noch erforder­lich:

    • Das Pass­wort beim ersten Aufruf ist GMG-CC.de und bere­its so im Code fest­gelegt. Sie kön­nen es im Code löschen oder Ihren Wün­schen entsprechend anpassen.
    • Es existieren zwei Ver­sio­nen des Codes. Im Kom­men­tar ist erk­lärt, wie die Unter­schiede sind.
    • Für den Benutzer­na­men gibt es zwei Möglichkeit­en: Den Anmelde­na­men des Excel und den des Win­dows. Die kön­nen dur­chaus unter­schiedlich sein. Bitte kom­men­tie­ren Sie eine Zeile im Code aus oder stellen Sie die Rei­hen­folge um. Die bei­den Zeile Code sind:
User = Environ("UserName") 'Windows-Username

und

User = Application.UserName 'Excel User-Name
  • Beim Time­stamp (Zeit­stem­pel) kön­nen Sie das gewün­schte For­mat im Code den Wün­schen oder Erfordernissen anpassen.
  • Beacht­en Sie bitte die Anmerkun­gen in Sachen Copy­right.

Soll­ten Sie einen Aus­bau, eine Erweiterung des Codes oder eine Anpas­sung der Datei wün­schen, beispiel­sweise für eine Chronolo­gie der Änderun­gen wen­den Sie sich bitte an uns. Unser Part­ner und Spon­sor GMG Com­put­er-Con­sult­ing hil­ft Ihnen gerne weit­er.

Ergänzung Feb­ru­ar 2015: Eine sehr schlichte Ver­sion, wo nur der Zeit­stem­pel in eine Spalte einge­tra­gen wird, find­en Sie hier im Blog.

Ergänzung Juni 2015: Alle Änderun­gen in einem getren­nten Blatt als Chronik fort­laufend erfassen. Laden Sie hier die Mus­ter­datei mit dem Code herunter.

▲ nach oben …

 

Dieser Beitrag wurde unter Datum und Zeit, Downloads, Mit VBA/Makro, Musterlösungen, Tipps und Tricks abgelegt und mit , , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.