Grundsätzlich habe ich ein Excel-Blatt für Tracking-Status in der Einstellung, wo gibt es etwa 5 Status (Briefing, Werbung, Shortlisting, Auswahl, Angebot) und gegen jede Vakanz gibt es eine Statuszelle als eine Liste der oben genannten Status und es hat sich geändert manuell basierend auf dem Status der Vakanz.Wie spiegeln sich Datumsangaben in bestimmten Zellen wider, die einem in Excel ausgewählten Listenelement entsprechen?
Ich habe einen VBA-Code gefunden (unten angehängt), um in einer bestimmten Zelle das Datum widerzuspiegeln, dass der Status geändert wurde, und wenn ich einen anderen Status wähle (grundsätzlich den Status aktualisiere) überschreibt es die vorherige Eingabe, aber was ich muss etwas komplizierter sein.
Ich habe eine Spalte für jeden Status erstellt, und ich brauche diesen Code, um das Datum auf Zelle des jeweiligen Status widerzuspiegeln, die dem aus der Liste ausgewählten entspricht, zum Beispiel das Briefing für eine bestimmte Vakanz wird das Datum auf der entsprechenden Zelle in der Spalte "Briefing", und wenn ich den Status für diese bestimmte Vakanz von der Liste in "Auswahl" ändern, spiegelt ein Datum die entsprechende Zelle in der Spalte "Auswahl" wider.
Der Code, den ich unter bisher gefunden habe:
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("N:N"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub