Automatisch " Status" aktualisieren, wenn Datum

Bild

Betrifft: Automatisch " Status" aktualisieren, wenn Datum
von: Edgard Merker
Geschrieben am: 01.10.2015 16:49:15

Guten Tag,
nachdem ich fast mein Vorhaben realisiert habe mit sehr viel Google ( bin VBA-Anfänger bin ich auf momentan zwei für mich unlösbare Probleme gestoßen.
Zunächst mein Vorhaben: Ich will anhand eines Abgleichs mit dem heutigen Datum den Status eines Projekts von "Verschoben" auf "warten" und umgekehrt setzen können. Das ganze sowohl beim Einfügen eines Datums in entsprechende Zeile , als auch beim Starten von Excel.
Nun meine Probleme: Die Makros funktionieren fast 100% richtig.
Der Haken ist, wenn ich zb ein Datum eingebe und Enter dücke, übernimmt er denn Status. Wenn ich jetzt noch einmal mit der Maus auf diese Zelle gehe , wird der Status automatisch auf verschoben gesetzt ( unabhängig vom Datum anscheinend).
Das weitaus wichtigere Problem, beim Start soll er das ganze auch machen. Von warten auf verschieben klappt umgekehrt leider nicht ( und der Teil ist eigentlich wesentlich wichtiger)
Nun zu den bisherigen Codes:
Modul:


Sub Status_Setzen()
Dim AktZeile As Integer
For AktZeile = 3 To ActiveWorkbook.Sheets("Priority List").UsedRange.Rows.Count
    If ActiveWorkbook.Sheets("Priority List").Cells(AktZeile, 21).Value < Date + 8 Then
  
    If ActiveWorkbook.Sheets("Priority List").Cells(AktZeile, 1).Value = "Verschoben" Then
    ActiveWorkbook.Sheets("Priority List").Cells(AktZeile, 1).Value = "Warten"
    
    End If '
     Else
    If ActiveWorkbook.Sheets("Priority List").Cells(AktZeile, 1).Value = "Warten" Then
    ActiveWorkbook.Sheets("Priority List").Cells(AktZeile, 1).Value = "Verschoben"
    End If
    End If
Next ' AktZeile
End Sub ' Status_Setzen

Innerhalb der Tabelle:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim AktZeile As Integer
    
    If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
    
        ActiveSheet.AutoFilter.ApplyFilter 'der Part war für die automatische Filterfunktion fü _
r das Problem unerheblich
        Exit Sub
    End If
     If Not Application.Intersect(Target, Range("T:T")) Is Nothing Then
    Call Remark_groß
    Exit Sub
    End If
    If Not Application.Intersect(Target, Range("U:U")) Is Nothing Then
    Call Status_Setzen
    End If
End Sub

In der Arbeitsmappe:

Private Sub Workbook_Open()
Call Status_Setzen
End Sub

Soweit zu den Codes. Könnt ihr bitte mal einen Blick drauf werfen und mir helfen?
Hoffe habe die Probleme ausreichend geschildert

Bild

Betrifft: und warum diesen pipifatz per VBA? o.T.
von: Sepp
Geschrieben am: 01.10.2015 18:54:44

Gruß Sepp


Bild

Betrifft: AW: Automatisch " Status" aktualisieren, wenn Datum
von: Edgard Merker
Geschrieben am: 02.10.2015 08:12:08
Hallo,
hatte mir halt zusammengegooglet was ich alles brauche und da hauptsächlich Ansätze mit VBA gefunden.
Außerdem ist die Tabelle schon recht groß, ich möchte alles automatisch laufen haben und möglichst keine Hilfsspalten mehr erzeugen. Wenn das auch so möglich ist ohne VBA und garantiert auch läuft, wären ein paar Ansätze sehr nett. Ansonsten bitte mal über den VBA- Code schauen bitte.

Bild

Betrifft: AW: Automatisch " Status" aktualisieren, wenn Datum
von: Edgard Merker
Geschrieben am: 02.10.2015 12:18:50
Habe mit einem CDate alles lösen können. Brauche keine Hilfe mehr

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Automatisch " Status" aktualisieren, wenn Datum"