Dieses Thema ist viel gefragt, das weiß ich und ich habe auch schon Vieles dazu gefunden, sogar eine Lösung, die für mich gut funktioniert. Allerdings benötige ich eine Anpassung des Codes, um die Funktionalität meines Dokumentes zu vervollständigen. Ich habe selbst versucht, den Code anzupassen, allerdings ohne Erfolg, da ich keinen Plan hab, was ich da eigentlich tue.
Folgendes ist die Situation:
Ich habe ein Dokument, in das verschiedene Mitarbeiter ihre Urlaubswünsche eintragen sollen. Das Dokument errechnet automatisch Nettourlaubstage und auch Überschneidungen der eingetragenen Zeiträume.
In Spalte C7:C41 wird das "von"-Datum des Urlaubszeitraumes eingetragen und in Spalte E7:E41 das "bis"-Datum.
Ich möchte, daß automatisch in Spalte AU7:AU41 das aktuelle Datum des Tages eingetragen wird, an dem der jeweilige Mitarbeiter seinen Urlaubswunsch einträgt. Dieses Datum soll dann fixiert sein und darf sich nur ändern, wenn der Mitarbeiter eine Änderung an seinem Eintrag vornimmt. Dann wird das Datum der Änderung eingetragen und fixiert.
Folgenden Code habe ich gefunden und schon für mich angepasst:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E7:E41")) Is Nothing Then Exit Sub
If Target.Value > "" Then
Target.Offset(0, 42).Value = Date
Else
Target.Offset(0, 42).ClearContents
End If
End Sub
Dieser Code funktioniert auch sehr gut, aaaaber...
Mit dieser Programmierung wird nur das Datum eingetragen oder geändert, wenn in Spalte E7:E41 etwas passiert.
Wenn in Spalte C7:C41 etwas geändert wird, wird kein Datum eingetragen.
Beispiel:
Der Mitarbeiter trägt in C7 (von) und E7 (bis) seinen Urlaubswunsch ein. In AU7 wird automatisch das aktuelle Datum eingetragen und bleibt fixiert.
Eine Woche später ändert der Mitarbeiter den Eintrag in E7. Es wird das aktuelle Datum in AU7 eingetragen und bleibt wieder fixiert.
Wenn aber der Mitarbeiter seinen Eintrag in C7 ändert, wird das aktuelle Datum nicht korrigiert, da in dem Code ja nur die Target Range E7:E41 angegeben ist.
Es soll natürlich auch dann das Datum angepasst werden, wenn in C7 eine Änderung erfolgt.
Wie gesagt, der Code funktioniert perfekt, solange es eine Änderung in E gibt.
Kann jemand bitte den Code so anpassen, daß der Datumseintrag sowohl bei Änderungen in E, als auch bei Änderungen in C erfolgt und zwar unabhängig von einander. D.h. es kann sein, daß beide Werte (C und E) geändert werden oder aber nur einer von beiden. In jedem dieser Fälle soll das Datum der Änderung eingetragen werden.
Vielen Dank für eure Hilfe. Ich hoffe, jemand weiß, wie das geht ;)