Re: Protokoll!!
15.11.2002 09:42:24
Wilfried
Moin!Dieses Programm macht etwas mehr, aber ich habe (sorry) keine Zeit, es jetzt groß zu ändern...
Es trägt in Spalte P & O immer den Namen des Ändernden und das Datum ein. Ausserdem wird in der Datei "verlauf.txt" - die vorher angelegt werden muss! - ein Protokoll geführt.
Wenn diese Datei nicht auf dem selben Pfad liegt, muss er angegeben werden. Wenn die Datei längher leben soll, am besten als absoluter Pfad, damit auch ein kopieren der Datei in einen neuen Ordner weiterhin zur protokollierung führt.
Private Sub Worksheet_Change(ByVal Ziel As Range)
Dim a, c
Dim b
a = Ziel.Row
c = Ziel.Column
b = Application.UserName 'holt aus den XL-Einstellungen in den Optionen den Benutzernamen
If Not Range("R1") = "RAINER" Then 'Kein Protokoll wenn mein Kollege nur "Schönheitsreparaturen" an der Tabelle macht und seinen namen einträgt
If a = 1 Then End 'In der ersten Spalte (Also A) sind Überschriften. Hier keine Protokollierung
If Not Range("P" & a).Value = b Then 'In Zeile P wurde bei mir der Namen des letzten Änderes eingetragen - wenn der da schon steht, kann der Code abbrechen
Range("P" & a).Value = b
End If
If Range("O" & a).Value = Date Then 'wenn das Datum heute schon dasteht, ebenfalls Ende
End
Else
On Error Resume Next
Open "verlauf.txt" For Append As #11 'verlauf.txt muss vorher in dem aktuellen Laufwerk angelegt sein!
Print #11, Date & ": " & b & ": Änderung: Spalte " & c & "; Zeile " & a & ""
Close #11
Range("O" & a).Value = Date
End If
Else
On Error Resume Next
Open "verlauf.txt" For Append As #11 'Der Eintrag wird auch gemacht, wenn mein Kollege "Rainer" sie durchführt. Andere sollen das nicht sehen, ich und er schon :-)
Print #11, Date & ": " & b & ": Änderung: Spalte " & c & "; Zeile " & a & ": ohne last_change"
Close #11
End If
End Sub