Hallo Zusammen,
ich stehe vor folgendem Problem. Ich habe eine komplexe Tabelle aufgebaut, die als Datei zur Auflistung von Anfragen genutzt werden soll.
In Spalte B steht das Anfragedatum
Die Spalten P, Q und R sind für verschiedene Attribute, die von "Requested" auf "Received" gesetzt werden
Spalte U gibt an, ob der Status der Anfrage "Open" oder "Completed" ist. Dazu verkette ich vorher die Attribute aus P,Q,R in Spalte S und arbeite mit einem sverweis um zu schauen, ob alle 3 Spalten auf "Received" stehen, dann wird der Status "Completed" gesetzt.
Nun möchte ich, dass in dem Moment, in dem die Formel in Spalte "U" sagt "Completed" das Datum gesetzt wird. Ich habe es versucht mit:
' Private Sub Worksheet_Change(ByVal Target As Range)
'
' With ActiveSheet
'
' If Target.Column = 21 Then ' Eingabe in Spalte 23
'
' If Target.Value = "Completed" Then
'' ActiveSheet.Unprotect Password:="123"
' .Cells(Target.Row, 23).Value = Format(Date, "dd.mm.yyyy")
'' .Cells(Target.Row, 23).Locked = True
'' Target.Locked = True
'' ActiveSheet.Protect Password:="123"
' End If
'
' End If
'
' End With
'
' End Sub
oder / und
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("U5:U700")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub 'Bearbeiten mehrerer Zeilen wird abgefangen
If Target.Formula = "Open" Then
Target.Offset(0, 1).ClearContents
Else:
Target.Offset(0, 1) = CDate(Format(Now, "dd.mm.yyyy"))
End If
End Sub
Zwar setzen beide Programmierungen das Datum richtig, jedoch nur wenn ich die Formel Spalte nochmal mit "Enter" bestätige. Und wenn die Anfrage doch wieder auf "open" steht, ist das Datum trotzdem eingetragen.
Kann mir jemand weiterhelfen?
Vielen Dank!
Grüße
Lisa
|