Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Änderungsverlauf/Historie
#1
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
Antworten Top
#2
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Carsten
Antworten Top
#3
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
Antworten Top
#4
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.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
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.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#7
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
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.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#9
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
Antworten Top
#10
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste