Frage von Koellemann, 46

Excel autotisierte Auflistung/Auffuellung moeglich?

Hallo zusammen,

Mal wieder eine Excel-Frage von mir, ich bin jetzt schon laengere Zeit am tuefteln aber komme auf keine klare Loesung, das Problem ist auch etwas kniffliger, aber ich hoffe dass einer von euch den Dreh raus hat :)

Folgender Sachverhalt:

Ich hab eine To-Do Liste erstellt die die Spalten: Arbeit, Deadline, Prioritaet und Status hat. Darunter sind die Zeilen 1-10 angelegt um die jeweiligen Zellen zu fuellen. Ich hoffe soweit ist das verstaendlich.

Problem: Sagen wir ich habe Aufgabe #1 erledigt und loesche die Zellen. a) Kann ich einstellen dass wenn ich in die Statusspalte "erledigt" eingebe der ganze Zeileninhalt geloescht wird? b) Gibt es die Moeglichkeit Aufgabe #2 automatisch an Stelle 1 rutschen zu lassen ohne manuell Hand anlegen zu muessen?

2.Problem:

a) Da die Liste an Aufgaben recht lang werden kann wuerde ich die Aufgaben gerne sortieren, und zwar sollen sie, je naeher sie an der Deadline sind in der Liste nach oben sortiert werden. Ist das in Excel moeglich und gibt es eine Variable fuer das aktuelle Datum?

Ich hoffe ich konnte mein Problem deutlich formulieren und freue mich auf Eure (Teil-)Antworten.

Liebe Gruesse, Koellemann

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Ninombre, Community-Experte für Excel, 23

Das Löschen von Zeilen geht recht einfach:
Private Sub Worksheet_Change(ByVal Target As Range)
   For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
   If Cells(i, 4).Value = "erledigt" Then
   Rows(i).Delete
   Exit For
   End If
   Next i
   End Sub

Annahme hier, wie ich es aus der Frage verstanden habe, dass "erledigt" in Spalte D steht und Spalte A immer gefüllt ist, damit die For-Schleife erkennen kann, wo der letzte Eintrag steht.

Das muss in Visual Basic auf dem Tabellenblatt gespeichert werden, auf dem die Änderungen überwacht werden.

Die Zeilen sind dann aber wirklich weg. Alternativ könnte man sie ans Ende kopieren oder auf ein anderes Tabellenblatt.

Durch das Löschen rutscht der nächste Eintrag automatisch nach oben oder wolltest Du alle verbleibenden Einträge neu durchnummerieren? Ginge auch, kann aber irritieren, wenn man weiß, dass man ToDo 47 bearbeiten soll und dieses auf einmal eine andere Nummer bekommt.

Bzgl. Sortieren: Im Grund genommen sollte es ja einfach nach Datum aufsteigend sortiert sein. Dann wären die Einträge, die ggf. schon lange überfällig sind ganz oben oder ist wirklich der Abstand zum Tagesdatum entscheidend (also in beide Richtungen, noch lange hin bis es fällig ist und schon lange überfällig)?

Über Makro lassen sich auch die Autofilter ansteuern. Idee wäre hier beim Öffnen der Datei automatisch aufsteigend nach Fälligkeitsdatum zu sortieren.

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 24

Am besten ist, du arbeitest mit dem Autofilter.

1a) Sobald eine Zeile die Filterbedingung nicht mehr erfüllt, wird sie ausgeblendet. (Aktualisierung mit Strg + Alt + L)
1b) Es wird nach der Eingabe (Enter) auf die nächste Zeile "gerutscht".

2a) Die Filterfunktion erlaubt auch das Sortieren. Du solltest eine neue Spalte anlegen, in der die Differenz zum heutigen Datum angezeigt wird.
Es gibt zwar keine Variable für das aktuelle Datum, aber eine Funktion: HEUTE()

Antwort
von iMPerFekTioN, 22

So ohne weiteres wirst du da wohl auf VBA zurückgreifen müssen, grade wegen dem löschen und dem Sortierern und dem aufrutschen.

Du kannst mal ein Makro aufzeichnen, mit dem kannst du das löschen und das nach oben Rutschen veranlassen, aber das es ausgeführt wird wenn in der Zelle Erledigt ausgewählt wird.

Puuuh, keine Ahnung

Grpße,

iMPerFekTioN

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten