Hallo zusammen,
ich habe ein VBA Skript das mir bei einer Änderung von Zellinhalten dies in einem Anderungsprotokoll (extra Blatt) speichert.
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim intZeile As Integer
If Not Sh.Name = "Datenbank" Then Exit Sub
' wenn alter Wert ungleich neuer Wert wird folgende Prozedur ausgeführt
If sValue <> Target.Value Then
With Worksheets("Änderungsprotokoll")
Application.EnableEvents = False
intZeile = .Cells(Rows.Count, "A").End(xlUp).Row + 1
' definiert Welcher Wert in welcher Spalte steht im Änderungsprotokoll
.Cells(intZeile, 1).Value = Date
.Cells(intZeile, 2).Value = Time
.Cells(intZeile, 2).NumberFormat = "hh:mm"
.Cells(intZeile, 3).Value = Application.UserName
.Cells(intZeile, 4).Value = Sh.Cells(Target.Row, 164)
.Cells(intZeile, 5).Value = Sh.Cells(6, Target.Column)
.Cells(intZeile, 6).Value = sValue
.Cells(intZeile, 7).Value = Target.Value
.Cells(intZeile, 8).Value = Sh.Cells(5, Target.Column)
End Sub
Diesen Code würde ich am liebsten an und ausschalten können, am besten mit einer Box, damit ich bei großen Änderungen in der Datenbank nicht alle Einträge in meinem Änderungsprotokoll sehe.
Kann mir jemand von euch dabei helfen
|