Ich habe folgenden Code, um jeweils Benutzername und Datum/Zeit der letzten Änderungen, die in Spalte 1 13 vorgenommen wurden, in die Spalten 14 - 16 zu schreiben.
Private Sub Worksheet_Change(ByVal Target As Range)
If ReadGlobalState = True Then Exit Sub
If Target.Column > 13 Then Exit Sub
Cells(Target.Row, 15) = Date
Cells(Target.Row, 16) = Time
Cells(Target.Row, 14) = Application.Username
End Sub
Wie muss ich das ändern, damit nur Änderungen in gewissen Spalten (z.B. Nr. 1 und 10) mit Datum/Zeit und User protokolliert werden? Habe schon folgendes probiert, allerdings ohne Erfolg.
Private Sub Worksheet_Change(ByVal Target As Range)
If ReadGlobalState = True Then Exit Sub
If Target.Column = 1 or Target.Column = 10 Then
Cells(Target.Row, 15) = Date
Cells(Target.Row, 16) = Time
Cells(Target.Row, 14) = Environ.Username
end if
End Sub
Die Idee wäre, dass der User gemäss dem Netzwerkkennwort in Spalte 14 geschrieben wird. Mit Application.Username scheint das nicht zu klappen. Bei mir zwar schon, bei anderen Usern aber nicht. Mit Environ.Username erhalte ich die Fehlermeldung Argument ist nicht optional, wobei ich derzeit nicht am Büro-Netzwerk angemeldet bin. Welchen Ausdruck muss ich nehmen?
Danke und Gruss
Benno