Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

Sortieren nach gegliederter Darstellung / Alternative

Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 10:04:00
earlycon
Hallo zusammen,

eine bestehende Vorgangsliste hat in Spalte A eine fortlaufende Nummerierung (1,2,3...). Es ist nun beabsichtigt Unterpunkte bilden zu können (2.1, 2.2,,...). Hierzu wird per VBA Spalte B eingeblendet, in der das neue Kriterium eingegeben wird. Die neuen Werte werden dann in Spalte A übernommen, Spalte B wieder ausgeblendet, dann soll eine Sortierung nach Spalte A erfolgen. Die Sortierung nach Gliederungszeichen führt jedoch wie bekannt zu Problemen. Ich wäre sehr dankbar, wenn jemand einen Lösungsansatz hätte, wie man doch eine fortlaufende Sortierung mit Gliederung hinbekommt (z.B. 1, 2, 2.1, 2.2, 3, 4, 5, 5.1, 5.2, 5.3 ...).

Herzlichen Dank und viele Grüße
Stefan

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 10:50:22
Oberschlumpf
Hi Stefan,

- ALLE! Zahlen als TEXT eingeben
- alle Zeilen markieren
- Daten/Sortieren aufrufen
- Option A-Z auswählen, auf OK klicken
- bei Sortierwarnung die untere Option auswählen, mit Klick auf OK bestätigen

Ciao
Thorsten
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 11:36:18
earlycon
Hallo Thorsten,
vielen Dank für Deine Rückmeldung (und die Info an Yal 😅).

- ALLE! Zahlen als TEXT eingeben - 👍🏼
- alle Zeilen markieren - 👍🏼
- Daten/Sortieren aufrufen - 👍🏼
- Option A-Z auswählen, auf OK klicken - 👍🏼 (bei mir steht "Nach Größe aufsteigend)
- bei Sortierwarnung die untere Option auswählen, mit Klick auf OK bestätigen - 👍🏼

Die Punkte mit Gliederung (2.1, 5.1) werden trotzdem unten angestellt in der Spalte...
Klingt komisch, ist aber so... 😉

Viele Grüße
Stefan
Anzeige
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 11:41:16
Oberschlumpf
Na Stefan,

dann zeig doch mal per Upload eine Bsp-Datei mit deinen Bsp-Daten.

Ciao
Thorsten
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 12:06:51
earlycon
Leider ist das eine große Datei (dienstlich) mit vielen Schützenswerten Daten, daher kann ich die nicht hochladen. Aber vielleicht genügt ein Screenshot, links vor dem Sortieren, rechts danach. Warum die 17 nun ganz oben steht, erschließt sich mir auch nicht. Alle Zellen sind Text-formatiert.

Gruß
Stefan

Userbild

AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 18:03:26
Oberschlumpf
hmm??? welchen Teil von Bsp-Datei mit Bsp-Daten versteht ihr so oft immer wieder nicht? :-/
Wenn ich Bsp schreibe, will ich kein Original....und dann müssen auch nicht in der Originaldatei alle Originaldaten in Bsp-Daten umgewandelt werden....es hätte doch gereicht, einfach ne neue Datei zu erstellen, darin dort (Zeilen/Spalten/mit/ohne Überschrift) Bsp-Daten einzutragen, wie/wo sie im Original verwendet werden...bitte was ist so schwer?...aber nun gut...du hast ja noch andere Antworten, die ich noch nich kenne...werd ich mir jetzt mal durchlesen
Anzeige
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 10:53:22
Yal
Hallo Early (man spricht sich im Forum per Vornamen an ;-)

wenn schon ausgeblendete Spalten und VBA, wandle die Gliederungswert in einem Text, der dann sortierbar ist:
1.2 -> _001_002
1.12.2 -> _001_012_002
12.1 -> _012_001
usw.

zum Beispiel:
Rückgabetext = ""

For Each E In Split(Range("B2"), ".")
Rückgabetext = Rückgabetext & Format(CLng(E), "_000")
Next

Achte nur, dass diese Zeichenkette von Excel nicht als Zahl interpretierbar ist. Also irgendwo darin muss ein Alfa-Zeichen vorhanden sein.

VG
Yal
Anzeige
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 11:02:20
Oberschlumpf
Hey Yal,

guckst du ans Ende des Beitrags von earlycon, weil...daaa steht....hach, lies doch selbst :-)

Ciao
Thorsten
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 12:07:22
Yal
Meinst Du "Herzlichen Dank und viele Grüße"? Da verstehe ich die Anweisung auch nicht :-)

Egal, eine Lösung ist bereit gefunden.

VG
Yal
AW: Sortieren nach gegliederter Darstellung / Alternative
09.11.2023 12:13:15
earlycon
Hallo Yal,

vielen Dank zunächst für Deine Rückmeldung und Deine Mühe.
Oberschlumpf meint sicher, dass ich meinen Namen ja unten drunter geschrieben habe...

Deine Lösung muss ich noch intensiver austesten. So wirklich schön ist das nicht, aber anscheinend gibt es keine andere Möglichkeit. Die Gliederung in dieser Schreibweise 1.1, 1.2, ... ist anscheinend in Excel nicht möglich...

Viele Grüße
Stefan
Anzeige
Mittel gegen Unschönheit
09.11.2023 12:34:27
Yal
Hallo Stefan,

Du könntest, da eine Makro diese Sortierung vornimmt,
Bildschirmaktualisierung unterdrücken (Application.ScreenUpdating = False ),
eine Spalte einfügen,
die kodierte Gliederungstext errechen/ablegen,
nach diesen sortieren,
die Spalte wieder löschen
Bildschirmaktualisierung wieder aktivieren.

Es werde Werte in Zellen geschrieben. Du musst sicherstellen, dass ein Event "Worksheet_Change" nicht dadurch angestossen wird:
Application.EnableEvents = False am Anfang, = True am Ende

VG
Yal
AW: Mittel gegen Unschönheit
09.11.2023 13:55:48
earlycon
Da hast Du recht Yal, aber das ist mir klar...
Ich meinte mit nicht wirklich schön eher die Darstellung der Zahlen... Statt 2.1 steht ja dann _002_001.

Danke für Diene Hilfsbereitschaft und beste Grüße
Stefan
Anzeige
AW: Mittel gegen Unschönheit
09.11.2023 14:10:49
Yal
Hallo Stefan,

ach so, ich verstehe erst jetzt was Du meinst.
Vielleicht habe ich es versäumt, diese Detail zu erklären: diese komische Gliederungstext ersetzen nicht die bisherigen, sondern kommen zusätzlich, daher neue Spalte, mit sortierbare Gliederungstext befüllen, sortieren, Spalte wegewerfen.

Alternativ: diese Spalte mit Gliederungtext bleibt bestehen (neben den 1.2, 17.2), dann kannst Du die Erzeugung der Gliederungstext mit einer UDF, die wie eine Excel-Formel in die Sortierungspalte abgelegt wird:
Public Function GliedSort(ByVal Target) As String

Dim E, Erg
If TypeOf Target Is Range Then Target = Target.Cells(1).Value
For Each E In Split(Target, ".")
Erg = Erg & Format(CLng(E), "_000")
Next
GliedSort = Erg
End Function

(muss in einem allg. Modul abgelegt werden.

Dann in B2: =GliedSort(A2)

VG
Yal
Anzeige
AW: Mittel gegen Unschönheit
09.11.2023 14:31:13
earlycon
Mein lieber Yal... Du bist ja ein Fuchs 👍🏼😊

Jetzt habe ich das auch kapiert, dass man eine Hilfsspalte benötigt und danach sortiert.
Nun habe ich genau das gewünschte Ergebnis erhalten und freue mir gerade ein Loch in den Bauch 😄

Das mit der Funktion ist für mich ein wenig zu hoch...

Nochmals lieben Dank.

Viele Grüße
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige