Thema Datum  Von Nutzer Rating
Antwort
Rot Erweitertes Änderungsprotokoll
20.08.2019 18:00:14 Roger
NotSolved
20.08.2019 18:39:40 weiter mit
NotSolved
21.08.2019 00:29:06 Gast6137
NotSolved

Ansicht des Beitrags:
Von:
Roger
Datum:
20.08.2019 18:00:14
Views:
1239
Rating: Antwort:
  Ja
Thema:
Erweitertes Änderungsprotokoll

Moin allerseits, an meinen Tabellen arbeiten mehrere Menschen, was oft dazu führt, dass etwas (vielleicht unabsichtlich) geändert wird. Das möchte ich gerne protokollieren und den Großteil hab ich bereits geschafft. Trotzdem gibt's jetzt Probleme, falls ich damit arbeite:

1. Wenn ich etwas ausschneide und wieder einfüge wird nichts eingefügt (im selben Arbeitsblatt) und in einem anderen stimmt der Wert nicht mehr (zum Beispiel wird im Blatt1 die '54' zu einer '9' im Blatt 2). Ich möchte allerdings nicht auf das Ausschneiden verzichten und somit fällt selection.cut weg

2. Sollte ich mehrere Zellen auf einmal bearbeiten, z.B. in einer Spalte immer den Wert 15000 stehen haben will und den runter ziehe, wird das nicht dokumentiert

3. Es wird ebenfalls nicht dokumentiert, falls der Blattname geändert wird. Brauchbar wäre eine Zelle mit "alter Blattname" und "neuer Blattname" falls er geändert wird

Hier ist schon mal mein Code, vielleicht findet sich ja jemand der mit weiter helfen möchte? 

 

Vielen Dank schonmal! Gruß 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Private Sub Workbook_SheetChange(ByVal Sh as Object, ByVal Target As Range)
 
  Sheets("Protokoll").Unprotect 123
 
  
 
  Dim FirstFreeRow As Long
 
  Dim OldVal As Variant
 
  Dim NewVal As Variant
 
  Dim rngNewSel As Range
 
  
 
  
 
User = Application.UserName
 
  
 
  If Target.Count > 1 Then Exit Sub
 
  If Sh.Name = "Protokoll" Then Exit Sub
 
  If Intersect(Target, Sh.Range("A1:Z999")) Is Nothing Then Exit Sub
 
  
 
  Application.EnableEvents = False
 
  
 
  NewVal = Target.Value
 
  Set rngNewSel = Selection
 
  
 
  Application.Undo
 
  
 
  OldVal = Target.Value
 
  
 
  Target.Value = NewVal
 
  
 
  On Error Resume Next
 
  rngNewSel.Activate
 
  On Error GoTo 0
 
  With Sheets("Protokoll")
 
    FirstFreeRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
 
    .Cells(FirstFreeRow, 1) = Sh.Name
 
    .Cells(FirstFreeRow, 2) = Target.Address(0, 0)
 
    .Cells(FirstFreeRow, 3) = OldVal
 
    .Cells(FirstFreeRow, 4) = Target.Value
 
    .Cells(FirstFreeRow, 5) = Date
 
    .Cells(FirstFreeRow, 6) = Time
 
    .Cells(FirstFreeRow, 7) = User
 
  End With
 
  
 
  Application.EnableEvents = True
 
  
 
  Sheets("Protokoll").Protect 123
 
  
 
End Sub

 

1
 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Erweitertes Änderungsprotokoll
20.08.2019 18:00:14 Roger
NotSolved
20.08.2019 18:39:40 weiter mit
NotSolved
21.08.2019 00:29:06 Gast6137
NotSolved