Liebe/-r Experte/-in,
ich bin auch nach mehrstündiger Suche in diversen Foren nicht weitergekommen, deshalb nun auf diesem Weg:
ich habe eine Tabelle mit Aufgabe:
Spalte A: Kalenderwoche
Spalte B: Tag (1 für Mo, 2 für Di, etc…)
Spalte C: Priorität (1-3)
Spalte D: Beschreibung
Spalte E: Verantwortlicher
Spalte F: offen oder erledigt
Tabelle hat dann entsprechend viele Zeilen - Tendenz steigend ;o)
Nun hätte ich gerne, dass sich die Tabelle nach Eingabe eines neuen Punktes oder auch bei Änderung der Woche, des Tages oder der Prio automatisch neu sortiert - und zwar aufsteigend nach den drei ersten Spalten. Also als erstes nach der KW, dann nach dem Tag und dann nach der Prio.
Ich habe im Endergebnis also immer eine Liste in der ich die KW sortiert habe, innerhalb der KW nach Tag und innerhalb des Tages nach Prio.
Hoffe, ich konnte klar machen, was ich brauche. Und hoffe noch mehr, dass mir einer von Euch dabei helfen kann.
Auf jeden Fall schon mal vielen Dank im Voraus!
Mark
Grüezi Mark
ich habe eine Tabelle mit Aufgabe:
Spalte A: Kalenderwoche
Spalte B: Tag (1 für Mo, 2 für Di, etc…)
Spalte C: Priorität (1-3)
Spalte D: Beschreibung
Spalte E: Verantwortlicher
Spalte F: offen oder erledigt
Tabelle hat dann entsprechend viele Zeilen - Tendenz steigend
Nun hätte ich gerne, dass sich die Tabelle nach Eingabe eines
neuen Punktes oder auch bei Änderung der Woche, des Tages oder
der Prio automatisch neu sortiert - und zwar aufsteigend nach
den drei ersten Spalten. Also als erstes nach der KW, dann
nach dem Tag und dann nach der Prio.
Ich habe im Endergebnis also immer eine Liste in der ich die
KW sortiert habe, innerhalb der KW nach Tag und innerhalb des
Tages nach Prio.
Das kannst Du so nur per VBA-Programmierung erreichen - kennst Du dich damit aus?
Im Prinzip reicht es aus, den Sortier-Vorgang mit dem Makro-Recorder aufzuzeichnen und dann jeweils abspielen lassen.
–
Mit freundlichen Grüssen
Thomas Ramel
Dass das nur mit VBA geht, habe ich mir fast schon gedacht. Habe nur leider keine ausreichende Ahnung. Deshalb auch hier die Frage… in der Hoffnung, dass das einer kann…
Macro Aufzeichnen wäre kein Problem, aber ich möchte das ja nicht jedes mal manuell starten, sondern das sich die Tabelle automatisch sortiert sobal sich was ändert.
Grüße
Mark
Hallo Mark,
ich habe mal eine Beispieldatei programmiert.
Wenn Du mir eine E-Mail-Adresse nennst, dann schicke ich Dir die Datei.
Gruß,
Ptonka
oh, prima.
Wäre nett, wenn Du mir die Datei an [email protected] schicken würdest.
Danke!!!
Hallo,
ich habe Dir die Datei an die von Dir genannte Mailadresse gesendet. Die Mail konnte aber nicht zugestellt werden. Es kam ein Feedback von web.de dass die Adresse unbekannt sei. Hast Du noch eine 2. Mailadresse?
Gruß,
Jochen
oh, prima.
Wäre nett, wenn Du mir die Datei an [email protected]
schicken würdest.
Danke!!!
Hallo Mark,
sorry, dass ich erst heute antworte, bin aber die letzten Tage nicht hier gewesen. Brauchst du noch Hilfe, oder hat sich schon ein anderer drangemacht?
Grüße aus Nürnberg
Jürgen
Dann nimm mal [email protected].
Vielen Dank schon mal im Voraus!
Grüezi Mark
Dass das nur mit VBA geht, habe ich mir fast schon gedacht.
Habe nur leider keine ausreichende Ahnung. Deshalb auch hier
die Frage… in der Hoffnung, dass das einer kann…
Macro Aufzeichnen wäre kein Problem, aber ich möchte das ja
nicht jedes mal manuell starten, sondern das sich die Tabelle
automatisch sortiert sobal sich was ändert.
OK, dann versuchen wir das mal 
Die Daten müssen für die folgenden VBA-Zeile in A1 beginnen und zusammenhängend sein, also keine vollständig leeren Zeilen oder Spalten dazwischen.
Ebenfalls notwendig ist, dass jede Spalte eine Spaltenüberschrift hat, aber das sollte bei einer Liste eh der Fall sein.
Klicke dann rechts auf den Tabellenblattreitern des Tabellenblattes in dem Du diese Funktion haben möchtest und wähle ‚Code anzeigen‘ im Kontextmenü.
Kopere nun die folgenden Zeilen 1:1 in das geöffnete leere Fenster:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(„A:C“)) Is Nothing Then
Range(„A1“).CurrentRegion.Sort Key1:=Range(„A1“), Order1:=xlAscending, _
key2:=Range(„B1“), order2:=xlAscending, _
key2:=Range(„C1“), order2:=xlAscending, _
Header:=xlYes
End If
End Sub
Schliesse den VBA-Editor mit Alt+Q.
Immer wenn Du nun in den Spalten A:C einen Wert einträgst oder änderst wird der gesamte Datenbereich sortiert.
Mit freundlichen Grüssen
Thomas Ramel
Danke, hat sich erledigt. Ich habe die Lösung.
Hallo Thomas,
das Sortieren der dritten Spalte klappt so leider nicht, aber ich habe schon eine Lösung gefunden.
Vielen Dank für Deine Hilfe!!!
Grüße
Mark