Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1084to1088
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Änderunge nachverfolgen

Änderunge nachverfolgen
Oliver
Hallo,
wir möchten alle Änderungen einer Arbeitsmappe in dieser Datei "protokollieren", ohne jedoch ständig die Änderungen freigeben (annehmen und ablehnen) zu müssen.
Auch eine gleichzeitige Bearbeitung soll nicht stattfinden können.
1. Kann man das ohne die Änderungen tun, die von Makros verursacht wurden?
2. Werden bei mehr als 65.536 Änderungen mehrere Tabellenblätter "Änderungsprotokoll" erstellt?
3. Kann man einen Supervisor ernennen, der die Änderungen nachverfolgt oder können das immer alle?
Ich möchte eigentlich eine Liste erzeugen mit allen manuellen Änderungen (ohne Markoänderungen):
wer, wann, welche Anderung wo! Und diese Liste kann nur ich sehen!
Wie mache ich das?
MfG
Oliver

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Änderunge nachverfolgen
24.06.2009 18:19:45
Florian
Hi,
nur ein Ansatz: Du könntest bei dem Workbook-Close Event eine automatische Kopie der Datei machen (die irgendwo gespeichert wird), die als Namen Datum, Uhrzeit und Username des Bearbeiters hat. Einen Änderungsbericht könntest Du Dir auch per Makro erstellen, indem du einfach Datei vorher mit Datei nachher vergleichst, sobald ein Wert nicht übereinstimmt Zelle markieren oder so. Änderungen per Makro könntest Du ja insofern berücksichtigen, indem Du diese Zellen ausnimmst (da Du sie ja vermutlich kennst). Nur ein Ansatz, deshalb noch offen...
Florian
AW: Änderunge nachverfolgen
24.06.2009 20:06:38
Josef
Hallo Oliver,
ich hoffe, du verwendest das nicht um deine Mitarbeiter zu überwachen, da könntest du probleme mit dem Datenschutz bekommen.
In allen Makros die Werte in die Tabelle schreiben sezt du am Anfang 'Application.EnableEvents = False'
und am Ende 'Application.EnableEvents = True'.
Dann kopierts du diesen Code in die Datei (Module beachten!)
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim rng As Range
  
  For Each rng In Target
    watchChanges Sh.Name, rng.Address(0, 0), rng.Value
  Next
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub watchChanges(sSheet As String, sCell As String, vValue As Variant)
  Dim strFile As String, strUser As String, strDateTime As String
  Dim strMsg As String, strSep As String
  
  strUser = Environ("Username")
  strDateTime = Format(Now, "dd.MM.yy - hh:mm:ss")
  strSep = ";" 'Trennzeichen
  strFile = "E:\Temp\watch.txt" 'Ausgabedatei - Pfad und Name anpassen! (wid automatisch angelegt)
  
  strMsg = strDateTime & strSep & strUser & strSep & sSheet & _
    strSep & sCell & strSep & CStr(vValue)
  
  Open strFile For Append Shared As #1
  Print #1, strMsg
  Close #1
End Sub

Passe den Pfad zur Textdatei an.
Dann hast du die Protokollierung in einer separaten Datei unabhängig von der Tabelle.
Gruß Sepp

Anzeige
AW: Änderunge nachverfolgen
26.06.2009 11:55:10
Oliver
Hallo Sepp,
nein, das iste keine "Überwachung", denn das würde ein Betriebsrat nie genehmigen, sonder einfach ein Änderungsprotokoll.
Ich habe aber eine Lösung gefunden.
Jedoch werden Formatänderungen nicht protokolliert...
Aber Deinem Code zufolge auch nicht, wobei das noch nicht schlimm wäre!
MfG
Oliver
AW: Änderunge nachverfolgen
26.06.2009 12:11:33
Oliver
Hallo Sepp,
bei Deinem Code wird der "alte" Wert vor der Änderung nicht protokolliert.
Wie würde das aussehen?
Und ich möchte, dass das "Protokoll" in der Arbeitsmappe als tabellnblatt sichbar ist, in dem die Änderungen in verschiedenen Spalten ausgeworfen wird:
geänderte Zelle
alter Wert
neuer Wert
USer
Datum
Uhrzeit
MfG
Oliver
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige