Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Protokollierung von Änderungen

Protokollierung von Änderungen
31.08.2020 20:26:31
Änderungen
Hallo zusammen,
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

*******************************************************

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Protokollierung von Änderungen
31.08.2020 21:47:01
Änderungen
Vielen lieben Dank, mein Held! :-)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige