Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zusammenhängende Zeilen (2) i nach Datum sortieren

Zusammenhängende Zeilen (2) i nach Datum sortieren
17.02.2016 12:43:36
Marcus
Hallo liebes Forum,
mit Begeisterung verfolge ich hier den ein oder anderen Beitrag und bin mit VBA noch nicht ansatzweise so fit wie ihr hier. Großes Lob auch an alle Beteiligten, die hier tatkräftig unterstützen.
Ich habe bisher mit VBA nur wenig Erfahrung und meist nur Codeschnipsel auf meine Anforderungen angepasst, was zum Glück auch meist funktionierte.
Nun zu meinem Anliegen:
Ich habe eine Tabelle, die eine Statistik beinhaltet, in der verschiedene Reisen mit Reisebeginn in Spalte A und Reiseende in Spalte B erfasst werden.
Zu jeder Zeile in dieser Spalte A und B gibt es weiter rechts die Eingabespalte, die dynamisch je nach aktuellem Datum ein- bzw ausgeblendet wird.
Damit eine Entwicklung dargestellt werden kann, habe ich zu jeder "Reisezeile" eine dazugehörige Zeile darunter erstellt, die in Abhängigkeit der Vorwoche die aktuelle Summe ausrechnet und in Spalte A&B die Werte der Zeile darüber übernimmt.
Nun soll für den Fall einer neu angelegten Reise in dieser Übersicht eine automatische Sortierung in der definierten Range A6:DY141 nach dem Kriterium der Spalte A (Reisebeginn) aber zweizeilig sortiert werden und die noch frei gelassenen Zeilen, die als Reservezeilen angelegt wurden weiterhin unten angestellt werden.
Mein Gedanke geht dahin, dass die Range A6:A141 abgesucht werden soll, welche letzte Zeile ein Datum enthält und diese sollte nun als Sortierrange+1 Zeile definiert werden. Diese neue Sortierrange sollte nun nach Spalte A zweizeilig sortiert werden.
Im Idealfall soll das bei Worksheet activate anspringen.
Bisher habe ich keine Lösung finden können, diese Range nach gefundenem letzten Datum in Spalte A + 1 Zeile darunter zu definieren und meine Kenntnisse reichen noch nicht aus dafür.
Auch das Aufzeichnen mit dem Makrorecorder brachte mich nicht wirklich weiter, da ich da ja den Sortierbereich händisch auswählen muss, um das gezielte Sortierergebnis zu erhalten - was im Übrigen gut klappte.
Ich würde mich sehr freuen, wenn jemand mir mal ganz große "Starthilfe" geben könnte.
Hier meine Beispieldatei:
https://www.herber.de/bbs/user/103633.zip
Freue mich auf eure Unterstützung und verbleibe
mit besten Grüßen
Marcus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zusammenhängende Zeilen (2) i nach Datum sortieren
19.02.2016 13:23:50
Michael
Hi Marcus,
ich habe mir Deine Tabelle mal angesehen, und dazu gibt es zu sagen:
a) eine Triggerung mit WS activate finde ich unglücklich, weil es nervt, wenn "die Kiste" was macht, was sicher spürbar Zeit kostet, auch wenn ich "nur schnell was schauen" will. Ich persönlich würde einen Button vorziehen
b) eine Sortierung mit Formeln, die sich auf andere als die aktuelle Zeile beziehen, ist immer kritisch. Ich würde empfehlen, die je zweite Zeile per Makro mit festen Werten zu füllen.
c) die unterste Zeile mit Datum könnte man mit =Anzahl ermitteln, hier z.B. in Zelle A146:
=ANZAHL(A6:A141)+5

gibt die Anzahl numerischer Werte (Datum ist Excel-intern ja numerisch) im Bereich A6:A141 zurück; plus 5 ist dann die Nr. der untersten Zeile - in Deiner Beispieldatei eben 113.
d) eine zweizeilige Sortierung könnte man mit Werten in einer Hilfsspalte machen, am besten in Spalte A, so daß sich alles um eine Spalte nach rechts verschiebt. Hier die Formel...
=B6*10+REST(ZEILE();2)

hängt an das Datum (das sich jetzt in Spalte B befindet) eine 0 bei einer geraden ZeilenNr., eine 1 bei einer ungeraden an, dann bleibt die Reihenfolge erhalten.
Weil dabei aber Deine zwei Reisen vom 19.08.15 falsch einsortiert würden, müßte man das Ende-Datum auch berücksichtigen:
=TEXT(B6;"0")&TEXT(C6;"0")&REST(ZEILE();2)
Das funktioniert, wenn Du bis zur ermitteln, letzten Zeile sortierst, aber auch nur, wenn Du die Spalte VOR dem Sortieren mit Inhalte/Werte einfügen (bzw. copy/pastespecial xlvalues) behandelst.
Du kannst auch bis Zeile 141 sortieren, dann aber etwa mit der Formel
=WENN((B6
Also: schreib mal, ob Dir die Hilfsspalte Recht ist, dann bau ich's Dir später mal ein.
Schöne Grüße,
Michael
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige