ich habe in Herbers-Archiv ein Beispiel gefunden. Damit kann ich die Änderungen eines Tabellenblattes in einer Protokolltabelle speichern.
Die Datei hat einen Schreibschutz.
Wenn jetzt ein User die Macrosicherheit in Excel auf "Hohe Sicherheit" einstellt, wird die Protokollversion ausgeschaltet.
Das Dokument kann dann ohne Protokolleintrag geändert werden.
Gibt es eine Möglichkeit das zu verhindern?
Gruß
Bongartz
Hier der BeispielCode:
Dieser Code wird in die Tabelle eingefügt die Protokolliert werden soll.
Private Sub Worksheet_Change(ByVal Target As Range) Private Sub Worksheet_SelectionChange(ByVal Target As Range)Option Explicit
Code eingefügt mit Syntaxhighlighter 1.13
Public varValue As Variant
Public strAddress As String
Public Benutzername As Variant
Public varDatum As Variant
Dim intRow As Integer
If Target.Value <> varValue Then
With Worksheets("Protokoll")
intRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(intRow, 1).Value = strAddress
.Cells(intRow, 2).Value = varValue
.Cells(intRow, 3).Value = Benutzername
.Cells(intRow, 4).Value = varDatum
varValue = CStr(Target.Value)
End With
End If
End Sub
varValue = ActiveCell.Value
strAddress = ActiveCell.Address
Benutzername = Application.UserName
varDatum = Format(Date, "dd.mm.yy") & " / " & Time
End Sub