Protokollierung von Änderungen
31.08.2020 20:26:31
Änderungen
für die Ausgestaltung eines Dienstplanes benötigen wir aufgrund diverser Zwischenfälle/Manipulationen eine Möglichkeit, das Ganze zu überwachen. Die bordeigenen Mittel taugen nicht, da keine Freigabe der Arbeitsmappe erfolgen soll und der Blattschutz auch unablässlich ist. Deshalb scheint VBA die Lösung zu sein. Habe mich jetzt den halben Tag durchgegoogelt und herumprobiert, scheitere jedoch.
Mit u.a. 1.Makro komme ich soweit klar, jedoch besteht das Problem, dass wenn mehrere markierte Zellen geändert/gelöscht werden (bspw. mit u.a. zweiten Makro o.ä., keine Protokollierung erfolgt. Wenn mir das ggf. noch jemand einbauen könnte....
Die zweite Frage wäre: Wenn ich diese Protokollierung für unterschiedliche Tabellenblätter (mit unterschiedlich zu überwachenden Bereichen) möchte, muss ich die Makros dann in "DieseArbeitsmappe" schreiben oder in die jeweiligen Tabellenblätter?
Vielen Dank im Voraus für Beiträge.... :-)
*****1.Makro******************************************
Public AlterWert As Variant
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ErsteFreieZeile As Long
If Target.Count > 1 Then Exit Sub
If Sh.Name = "Protokoll" Then Exit Sub
If Intersect(Target, Sh.Range("E9:APJ120")) Is Nothing Then Exit Sub
With Sheets("Protokoll")
ErsteFreieZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(ErsteFreieZeile, 1) = Sh.Name
.Cells(ErsteFreieZeile, 2) = Target.Address(0, 0)
.Cells(ErsteFreieZeile, 3) = AlterWert
.Cells(ErsteFreieZeile, 4) = Target.Value
.Cells(ErsteFreieZeile, 5) = Date
.Cells(ErsteFreieZeile, 6) = Time
.Cells(ErsteFreieZeile, 7) = Environ("username")
End With
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Sh.Name = "Protokoll" Then Exit Sub
If Not Intersect(Target, Sh.Range("E9:APJ120")) Is Nothing Then
AlterWert = Target.Value
End If
End Sub
*****2.Makro****************************************
Sub make_D()
Selection = "D"
End Sub
*******************************************************