Clever-Excel-Forum

Normale Version: Änderungsverlauf/Historie
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich versuche gerade für eine Excel Liste einen Änderungsverlauf zu schreiben. Mir ist bekannt, dass Excel bereits eine interne Funktion besitzt, mit der man den Ändeurngsverlauf in einem versteckten Fenster öffnen kann, das sich jedoch schließt sobald man speichert.

Nun war meine Idee: Ein Makro zu schreiben, dass quasi den Änderungsverlauf aufruft, alle Einträge kopiert und auf ein bestehendes Registerblatt kopiert. Hier ist dazu der Code:

Sub Historie_anlegen()
'
' Historie_anlegen Makro
'

'
   With ActiveWorkbook
       .HighlightChangesOptions When:=xlAllChanges
       .ListChangesOnNewSheet = True
       .HighlightChangesOnScreen = False
   End With
   Range("A1:K9").Select
   Selection.Copy
   Sheets.Add After:=Sheets(Sheets.Count)
   ActiveSheet.Paste
End Sub

Kann mir jemand den Fehler sagen. Er kopiert leider nicht den Änderungsverlauf, sondern quasi immer das Register, welches unmittelbar davor ist (quasi als ob Änderungsverlauf unsichtbar wäre)
Frage1: Habe ich einen Fehler im Gedankengang?
Frage2: Oder sollte ich es ganz anders angehen? Wichtig wäre, dass die Historienfunktion dauerhaft angezeigt wird und das alle Änderungen mit Kommentar versehen werden können (geht im Änderungsverlauf nicht - daher wäre kopieren nötig)

Danke schon mal
Grüße
Carsten
Hallo Carsten!
Schau mal hier:
http://www.office-loesung.de/ftopic599975_0_0_asc.php
Bedenke aber die evtl. rechtlichen Konsequenzen!

Es geht auch erheblich einfacher, mein letzter Satz gilt aber unabhängig davon.

Gruß Ralf
Moin Ralf,

vielen Dank für deine Antwort. Das Tool sieht recht mächtig aus und ich kann die Befehle zT nicht nachvollziehen und bin ein wenig skeptisch, ob da nicht auch Sachen ablaufen, die ich nicht überblickte. Ich hoffe noch auf eine einfachere Lösung :)'

Grüße
Carsten
Hallo Carsten,

der Gesetzgeber hat sowas für Deutschland ausdrücklich verboten.
Das steht in der strafbewehrten Rangliste etwa parallel zu "Kameras auf dem Damenklo".

Ich würde eiligst die Finger davon lassen.
Moin Peter!
Ich wies bereits darauf hin, aber:
Ich sehe die rechtliche Lage eher vergleichbar mit der Kamera im Taxi, nicht im Damenklo!
Das Ganze unter der Voraussetzung, das der evtl. vorhandene Betriebsrat zustimmt und / oder es dem Überwachten bewusst ist (Bestätigung per Unterschrift), dass Änderungen in der Datei protokolliert werden!

Just my two cents,

Ralf
Hallo Ralf,

.... und dann wird ein Neuer eingestellt und es wird vergessen, ihn das Formular "ja, ich will überwacht werden" unterschreiben zu lassen

Aber wenn der TE das unbedingt machen will, kann ich das ohnehin nicht unterbinden. Ich muß dann aber auch nicht mit eventuellen
Folgen klarkommen. Mir wäre es zu heiß und darauf habe ich hingewiesen.

Allerdings wäre es in meinen Augen rechtlich unbedenklich, "nur" die geänderten Werte zu protokollieren indem man sie beispielsweise
nebeneinanderstellt. Ein Hinweis auf den Mitmenschen, der das geändert hat, den allerdings würde ich vermeiden. Für sowas gibt es ja
schließlich auch Passwörter und wenn ich noch 'ne Schippe drauflegen will, dann würde ich beispielsweise Passwörter mit nur Lesezugriff
und Vollzugriff einrichten.
Klar, Peter!
Ich habe allerdings mittlerweile jedwede Hilfsbereitschaft verloren, wenn ich sehe, wie Carsten "alle Foren dieser Welt" mit c&p überschwemmt ...

Nur noch kurz zum Thema:
Wir werden es nicht verhindern können, dass das WWW niemals vergisst!
Wir dürfen und sollten aber unsere Kompetenz dazu nutzen, auf mögliche strafrechtliche Konsequenzen hinzuweisen!
Selbstredend, dass hier keine "Knack-Algorithmen" rausgehen ...

Gruß vom graubärtigen Ralf
Hallo Ralf,

Zitat:Gruß vom graubärtigen Ralf

Damit bist Du nicht alleine unterwegs. Ich kann da prima mithalten  :18:

Im übrigen mag ich das Crossposten ebenfalls nicht.
Ich werde hier nicht mehr aktiv sein.
Hallo,

tut mir leid. ich habe, dass in 2 weitere Foren gepostet, weil ich nicht wusste, wie schnell auf solch einen Eintrag reagiert wird bzw ob überhaupt :/
Tut mir leid - kann mir also keiner helfen?

Grüße
Carsten
Nun ja, Carsten!
Du kannst über ein Worksheet_SelectionChange einen Wert in eine globale Variable einlesen,
und ihn mittels Worksheet_Change in ein .VeryHidden-Sheet in die die erste freie Zeile übergeben,
gerne auch erweitert mittels Environ("UserName") oder auch Application.UserName
Du musst natürlich auch sicherstellen, dass mit Application.Undo oder mit Übergabe von der Range-Variablen OldValue (Dim OldValue As Range und der entsprechenden Set-Anweisung) das Ganze auch rückgängig gemacht werden kann.
Ernsthaft:
Ich bin relativ froh, dass nicht jeder Newbie so etwas verhackstücken kann!
In diesem Sinne

Ralf
Seiten: 1 2