Außergewöhnliche Sortierung

Bild

Betrifft: Außergewöhnliche Sortierung
von: Franz W.
Geschrieben am: 27.11.2003 18:15:16

Hallo Forum,

ich bin auf der Suche nach einer nicht normalen Sortierung. Folgende Tabelle

Barbara
BarbaraS
Fanny
FannyS
Sabrina
SabrinaS
Simon
SimonS


bräuchte ich in folgender Sortierung:

Barbara
Fanny
Sabrina
Simon
BarbaraS
FannyS
SabrinaS
SimonS

Hintergrund: Diese Tabelle ist die Vorlage für eine Gültigkeitsliste. Und die Namen ohne "S" werden sehr häufig benötigt, darum sollen sie weit oben stehen. Die Namen mit "S" werden seltener gebraucht, darum sollten sie weiter unten stehen. (UND: das "S" hat eine Bedeutung und sollte nach Möglichkeit so bleiben können. Sonst könnte ich z.B. auch xBarbara, xFanny, ... usw. schreiben, dann wäre das Problem gelöst. Aber das wäre nur die allerletzte Notlösung!)

Seht Ihr da eine Möglichkeit?

Für Tipps schon mal vielen Dank im Voraus und Grüße
Franz

Bild


Betrifft: AW: Außergewöhnliche Sortierung
von: Michael
Geschrieben am: 27.11.2003 18:32:54

hi franz,
da du nix von vba oder formel gesagt hast:
richte dir eine hilfsspalte ein mit der formel =WENN(CODE(RECHTS(A1;1))=83;"S";"")
und sortiere dann zuerst nach dieser hilfsspalte
ist zwar ein umweg aber es geht
cu michael


Bild


Betrifft: Hey! Tolle Idee!
von: Franz W.
Geschrieben am: 27.11.2003 18:52:24

Hallo Michael,

ja! Sehr gut! Ganz vielen Dank dafür!! Wär ich selber nicht nur nicht draufgekommen, sondern hätte es noch gar nicht gewusst. Hab ein bisschen probieren müssen, von wegen Andreas - mit s am Schluss - klappt alles!! Die 83 steht also nicht für jedes "s" , sondern nur für das große "S", richtig? Ist das der ANSI-Zeichensatz, der da verwendet wird? Oder wo kann ich die Codezahlen finden?

Herzlichen Dank und Grüße
Franz


Bild


Betrifft: AW: Hey! Tolle Idee!
von: Michael
Geschrieben am: 27.11.2003 19:04:50

nochmal hi franz,
bei "meinem" excel ist in der hilfe die codetabelle für ascii mit drin
ausserdem kennt man noch aus 64er zeiten einige zahlen dieses wunderhübschen tabellchen aus dem kopf ;-)
cu Michael


Bild


Betrifft: Bin wohl Spätzünder...
von: Franz W.
Geschrieben am: 27.11.2003 19:13:52

... aber zu 64er Zeiten saß ich noch nicht am PC ...........

und unter welchem Stichwort muss ich suchen in der Hilfe? Bin wohl zu dusslig das zu finden.......

Franz


Bild


Betrifft: @Franz u. Michael
von: th.heinrich
Geschrieben am: 27.11.2003 19:08:10

hallo Ihr Beiden,

dass sind die (un)feinen unterschiede in excel. ich habe es auch mit einer hilfsspalte versucht in der alledings nur S und leere zellen vorhanden waren. damit funzzte es nicht.

gruss thomas


Bild


Betrifft: Doch noch ein kleines Problem
von: Franz W.
Geschrieben am: 27.11.2003 19:09:38

Hallo Michael,

jetzt hat's doch noch einen kleinen Haken: Wenn ich jetzt das zugehörige Drop-Down, für das die so sortierte Tabelle die Gültigkeitsliste darstellt, aufklappe, dann steht die Markierung nicht ganz oben, sondern im ersten leeren Feld unterhalb aller Namen. Das war vorher nicht so.

Was ich vorher hatte (ich weiß, ich hätte das in meiner ersten Frage schon schreiben sollen, aber da hab ich leider nicht dran gedacht, sorry!!):

Die Einträge in die Gültigkeitsliste werden durch Formeln erzeugt:

=WENN($C$1="";"z";$C$1)
=WENN($C$1="";"z";$C$1 & "S")
von Zeile 1 - 14, die Liste geht also über 28 Zeilen.

Das "z" deshalb, wegen der Sortierung; damit die Zellen ohne Eintrag nicht ganz oben in der sortierten Liste stehen. Und mit dieser Sortierung, erschienen im Drop-Down zuerst die Namen (so wie ich sie in meiner Ausgangsfrage dargestellt habe) und dann die Leerfelder. Also richtige Reihenfolge, wie bei Dir auch. Aber beim Aufklappen des Drop-Downs war kein Eintrag markiert, man konnte mit 1 Mal "Pfeil runter" sofort den obersten Eintrag auswählen.

Die "z" hab ich jetzt rausgemacht, damit deine Lösung funktioniert. Deine Formeln runterkopiert zeigen jetzt zwar #WERT! an, das stört aber in der Tabelle nicht, nach dem Sortieren stehen sie unter den von Dir richtig sortierten Namen.

Aber im Drop-Down schaut es jetzt aus wie oben beschrieben: es ist zwar richtig sortiert, aber es ist das erste leere Feld unterhalb der Namen markiert und man muss nach oben scrollen.

Hast Du dafür noch eine Idee??

Vielen Dank schon mal und leicht betrübte Grüße
Franz


Bild


Betrifft: AW: Doch noch ein kleines Problem
von: Michael
Geschrieben am: 27.11.2003 19:27:12

sorry kann ich nicht nachvollziehen bei mir ist alles o.k.
sortierst du eine leerzeile mit ??

in der hilfe einfach nach "ascii" suchen
ich kann dir allerdings nicht versprechen, dass es in deiner version eine hilfe dazu gibt
wenn nicht: such einfach in google
cu Michael


Bild


Betrifft: AW: Doch noch ein kleines Problem
von: Franz W.
Geschrieben am: 27.11.2003 19:35:06

Hallo Michael,

tut mir leid, wenn ich das grade nicht richtig dargestellt habe. Ja, es wird der gesamte Bereich über alle 28 Zeilen sortiert. In allen Zellen stehen Formeln drin, aber nicht in allen stehen Werte drin (aufgrund der Formel: =WENN($C$1="";"";$C$1) ). Und dann geht's wohl nicht, weil er beim Aufklappen den ersten gleichen Wert sucht wie in der Zelle?!? Und der ist halt nichts in einer leeren Zelle!! Seh ich das richtig so?

Wär wohl ne Lösung, dass ich per VBA die erste und letzte Zeile des Bereichs ermittle und dafür dann den Namen für den Bereich neu vergebe? (Das würde ich schon hinkriegen) Das Sortieren wird sowieso durch ein Worksheet_Change-Ereignis ausgelöst.

Oder siehst Du eine einfachere Möglichkeit?

Grüße
Franz


Bild


Betrifft: AW: Doch noch ein kleines Problem
von: Michael
Geschrieben am: 27.11.2003 19:46:49

einfacher wäre es eventuell die leerzeilen nach unten zu sortieren:
=WENN(A1="";"T";WENN(CODE(RECHTS(A1;1))=83;"S";""))
aber das musst du entscheiden
cu Michael


Bild


Betrifft: Jetzt steh ich auf dem Schlauch!!
von: Franz W.
Geschrieben am: 27.11.2003 19:59:01

Hallo Michael,

ist die Formel jetzt für die Hilfspalte? Weil die "T" in der Hilfspalte helfen nichts gegen die Leerzellen in der eigentlichen Spalte... Was kapier ich da jetzt nicht?

Grüße
Franz


Bild


Betrifft: AW: Jetzt steh ich auf dem Schlauch!!
von: Michael
Geschrieben am: 27.11.2003 20:05:32

wenn du leerzeilen in der hilfsspalte mit "T" markierst und dann die hilfsspalte aufsteigend sortierst stehen die leerzeilen noch unter den "S" markierungen
wenn du die hilfsspalte absteigend sortierst muss das "T" in der formel durch ein "R" ersetzt werden
also stehen die leerzeilen dann ganz unten und stören nur noch minimal
cu Michael



Bild


Betrifft: Stimmt schon, aber..
von: Franz W.
Geschrieben am: 27.11.2003 20:12:07

Hallo Michael,

jetzt hab ich nach wie vor in der Gültigkeitsliste oben die Namen und unten darunter die leeren ZEllen. Und damit landet im Drop-Down die Makrierung wieder unter allen Namen.

Äußerst verwirrte Grüße
Franz


Bild


Betrifft: AW: Stimmt schon, aber..
von: Michael
Geschrieben am: 27.11.2003 22:19:45

anderer ansatz um die leerzeilen zu unterdrücken:


Sub Makro1()
i = 1
    Do While Worksheets(1).Cells(i, 1) <> ""
        i = i + 1
    Loop
ActiveSheet.Shapes("Drop Down 19").Select
    With Selection
        .ListFillRange = "$A$1:$B$" & i - 1
        .DropDownLines = i - 1
    End With
End Sub



Bild


Betrifft: AW: Stimmt schon, aber..
von: Franz W.
Geschrieben am: 27.11.2003 22:45:02

Hallo Michael,

vielen Dank dafür!! Hab zwar inzwischen ne Lösung, bei der zumindest "optische Leerzellen" am Ende der Drop-Down-Liste stehen. Aber schöner wäre es doch so wie in Deinem Makro, werd ich gleich mal integrieren.

Vielen Dank und Grüße
Franz


Bild


Betrifft: AW: Außergewöhnliche Sortierung
von: Reinhard
Geschrieben am: 27.11.2003 20:04:24

Hi Franz,
probier doch mal
=WENN($C$1="";ZEICHEN(160);" "&$C$1)
=WENN($C$1="";ZEICHEN(160);ZEICHEN(160)&$C$1)
Zeichen 160 sieht man genau wie das Leerzeichen nicht, aber es wird hinter normale Buchstaben sortiert. Deshalb brauchst du keine Hilfssplate mehr
Gruß
Reinhard
ps: AsciiCodeTabelle brauchst du nicht unbedingt in der Hilfe nachschauen. Schreibe in A1
=zeichen(zeile(a1))
und kopiere es bis a255 runter.
oder wenn du nur einen Wert brauchst, kurz mit Zeichen(96) o.ä. anzeigen lassen
Letzlich brauchst du die Nummer nicht bei der Hilfsspalte
=WENN(CODE(RECHTS(A1;1))=83;"S";"")
denn so geschrieben klappt das genauso:
=WENN(RECHTS(A1;1)="S";"S";"")


Bild


Betrifft: AW: Außergewöhnliche Sortierung
von: Franz W.
Geschrieben am: 27.11.2003 20:40:31

Hi Reinhard,

vielen Dank für Deine Hilfe, damit hat's geklappt. Musste ein bisschen rumprobieren, bis ich noch meine "S" drin hatte, aber jetzt klappt's einwandfrei:

=WENN($C$1="";ZEICHEN(160);" "&$C$1)
=WENN($C$1="";ZEICHEN(160);" "&$C$1&"S")

Und danke auch für den Tipp mit den ASCII-Zeichen.

Beste Grüße
Franz


Bild


Betrifft: AW: Außergewöhnliche Sortierung
von: Franz W.
Geschrieben am: 27.11.2003 21:38:15

Hallo Reinhard,

hab grad gesehen, dass es hier nicht richtig dargestellt wird:

in der ersten Formel sind zwischen den "" 2 Blanks, nicht wie hier dargestellt nur 1 Blank

Grüße
Franz


Bild


Betrifft: AW: Außergewöhnliche Sortierung
von: Reinhard
Geschrieben am: 27.11.2003 23:26:33

Hallo Franz,
benutze den pre-Tag, dann bleiben Leerzeichen erhalten, auch beim Posten von Tabellen bei Herber.

=WENN($C$1="";ZEICHEN(160);" "&$C$1)
=WENN($C$1="";ZEICHEN(160);ZEICHEN(160)&$C$1)
Dies zwei zeilen sind ja von mir, sie sollen ja grade deine "S" unnötig machen. Dein "S" dient ja als 
Sortierkennzeichnung um die entsprechenden zellen hinetn anzustellen. Dafür, als Ersatz, dachte ich an das 
unsichtbare Zeichen 160, dann wäre das "S" unnötig.
Nunja, du siehst das anders wie deine Zeilen (jetzt mit 2 Leerzeichen in "  ") zeigen.
=WENN($C$1="";ZEICHEN(160);"  "&$C$1)
=WENN($C$1="";ZEICHEN(160);"  "&$C$1&"S")

Gruß
Reinhard


Bild


Betrifft: AW: Außergewöhnliche Sortierung
von: Franz W.
Geschrieben am: 27.11.2003 23:51:00

Hallo Reinhard,

nein, nein, ich brauche das "S", das dient der Unterscheidung - im Gegensatz zu den Namen ohnd "S", hat also eine Bedeutung und soll so erscheinen. Habe das in meiner Ausgangsfrage auch geschrieben. Ich bin jetzt schon ganz glücklich so, mit Deiner HIlfe und Deinem Vorschlag hab ich das ja hingekriegt!! Dumm nur, dass wir uns da missverstanden haben und dass Du Dich deswegen noch mal bemüht hast. Ganz vielen Dank dafür.

siehe auch meine Frage https://www.herber.de/forum/archiv/344to348/t344451.htm , ich brauche das wirklich zur Auswahl

Beste Grüße
Franz

P.S.: Und danke auch für den Tipp mit dem pre-Tag...


Bild

Beiträge aus den Excel-Beispielen zum Thema " Außergewöhnliche Sortierung"