Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Private ProtocolTable As Worksheet
- Private OriginalValue As Variant
- Private TargetTable As Worksheet
- Private Sub Workbook_Open()
- Dim ws As Worksheet
- On Error Resume Next
- Set ProtocolTable = ThisWorkbook.Sheets("Changelog")
- If ProtocolTable Is Nothing Then
- Set ProtocolTable = ThisWorkbook.Sheets.Add
- ProtocolTable.Name = "Changelog"
- ProtocolTable.Range("A1:E1").Value = Array("Datum/Uhrzeit", "Tabelle", "Zelle", "Ursprünglicher Wert", "Neuer Wert")
- End If
- On Error GoTo 0
- ' Hier die gewünschte Tabelle festlegen
- Set TargetTable = ThisWorkbook.Sheets("Deine Tabelle")
- AddChangeEventHandler TargetTable
- End Sub
- Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
- If ProtocolTable Is Nothing Then
- Set ProtocolTable = ThisWorkbook.Sheets("Changelog")
- End If
- If Sh Is TargetTable Then
- Dim ProtokollZeile As Long
- ProtokollZeile = ProtocolTable.Cells(ProtocolTable.Rows.Count, 1).End(xlUp).Row + 1
- ProtocolTable.Cells(ProtokollZeile, 1).Value = Now
- ProtocolTable.Cells(ProtokollZeile, 2).Value = Sh.Name
- ProtocolTable.Cells(ProtokollZeile, 3).Value = Target.Address(False, False)
- ProtocolTable.Cells(ProtokollZeile, 4).Value = OriginalValue
- ProtocolTable.Cells(ProtokollZeile, 5).Value = Target.Value
- End If
- End Sub
- Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
- If Target.Count = 1 Then
- OriginalValue = Target.Value
- End If
- End Sub
- Private Sub AddChangeEventHandler(ByVal ws As Worksheet)
- ' Keine zusätzliche Aktion erforderlich
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement