Microsoft Excel

Herbers Excel/VBA-Archiv

Tabelle nach zwei Spalten sortieren

Betrifft: Tabelle nach zwei Spalten sortieren von: ArDanio
Geschrieben am: 29.09.2020 12:27:11

Hallo zusammen


Ich bin ein absolutes Greenhorn in VBA und brauche dringend eure Hilfe. Ich denke, dass das Problem auch sehr einfach zu lösen ist.

Situation ist folgende:

- Ich habe eine Excel-Tabelle (B4:M150) auf dem Arbeitsblatt PERSONAL, diese Grösse bleibt fix, nicht alle Zeilen haben im Moment Inhalt

- Immer wenn ich eine neue Zeile befülle, möchte ich durch eine Schaltfläche eine Sortierung auslösen

- Es soll nach der Spalte C (Namen) absteigend und danach nach der Spalte D (Vornamen) absteigend sortiert werden

- aber Leerzeilen sollen nicht sortiert werden, da diese sonst jeweils zuoberst stehen


Wie müsste da ein entsprechendes Skript aussehen? Kann mir da jemand weiterhelfen?


Herzlichen Dank bereits jetzt


ArDanio

Betrifft: AW: Tabelle nach zwei Spalten sortieren
von: Daniel
Geschrieben am: 29.09.2020 12:34:38

Hi
sind die Leerzeilen echte Leerzeilen oder enthalten sie den Text Leerstring oder über das Zahlenformat bzw die Blattoptionen ausgeblendete Nullen?

echte Leerzeilen werden bei mir immer nach unten sortiert, egal ob auf- oder absteigende Sortierung

sollten die Zeilen keine echten Leerzeilen sein, gibt's zwei Wege
a) eine zusätzliche Hilfsspalte, die Leerzeilen mit einem Wert und gefüllte Zeilen mit einem anderen Wert kennzeichnet, so dass du diese Hilfsspalte als primäres Sortierkriterium verwenden kann, welches in der Sortierrichtung auch unabhängig von den anderen ist.

b) ohne Hilfsspalte:
du sortierst zuerst so, dass die Leerzeilen unten stehen.
dann ermittelst du die letzte gefüllte Zeile und sortierst den Bereich bis zu dieser Zeile nochmal mit umgekehrter Sortierrichtung.

Gruß Daniel

Betrifft: AW: Tabelle nach zwei Spalten sortieren
von: ArDanio
Geschrieben am: 30.09.2020 08:41:22

Hallo Daniel

Danke für deine schnelle Antwort.

Ich möchte mich zuerst entschuldigen, dass ich mich schuldig gemacht habe sogenanntes "Crossposting" zu begehen. Da ich ein absoluter Neuling bin war ich mir aber keiner Schuld bewusst und natürlich hätte ich Lösungsansätze sofort in allen Foren weitergegeben. Das Problem ist einfach, dass ich ziemlich unter Zeitdruck stehe. Sorry...
hier die Verlinkungen:
Link1: https://www.ms-office-forum.net/forum/showthread.php?p=2000149&posted=1#post2000149
Link2: https://www.herber.de/forum/messages/1784566.html

Ich habe auch die Sortierreihenfolge versehentlich falsch angegeben: Sollte aufsteigend heissen.

Zu deinen Fragen:
Die Leerzeilen enthalten teilweise Formeln, da ein Teil der Daten aus anderen Tabellenblättern gezogen werden.
Aber dein Lösungsansatz 1b gefällt mir. Wie müsste da ein Skript aussehen?

Betrifft: AW: Tabelle nach zwei Spalten sortieren
von: Rudi Maintaire
Geschrieben am: 29.09.2020 12:43:33

Hallo,
als Profi solltest du wissen, dass leere Zeilen oder Spalten in einer Tabelle/ Liste nicht zu suchen haben.
Bei mir landen beim absteigenden Sortieren Leerzellen ganz unten.

Gruß
Rudi