Excel VBA Spezielle Sortierung

  • Excel

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von matze.tele.

    Excel VBA Spezielle Sortierung

    Hallo zusammen,

    ich habe mehrere Regalreihen und darin mehrere Fächer,
    wenn ich aus den Regalen Artikel holen möchte lasse ich mir eine liste mit den Lagerplätzen ausdrucken.
    Nun möchte ich aber auf dieser Liste, die sortiert ist, nicht immer wieder hin und her springen, um mir den doppelten weg zwischen den Regalen zu ersparren,
    daher möchte ich die Liste schon entsprechend sortieren, dass ich am ende einer Reihe z.b. 7 Platz 85 gleich in Reihe 8 Platz 85 geleitet werde, wenn dort der nächste Artikel für mich liegt.
    Mein Problem ist jetzt aber, wie sortiere ich mir die Listen, dass sie entsprechend gedruckt werden können?
    Hat hier vlt jemand eine Lösung oder Idee?
    Gruß Matze 8-)
    Also angenommen pro Reihe gibt es 3 Plätze,
    dann wäre die natürliche Sortierung
    R1 P1,
    R1 P2,
    R1 P3,
    R2 P1,
    R2 P2,
    R2 P3,
    R3 P1,
    R3 P2,
    R3 P3

    willst du stattdessen immer im Wechsel sortieren?:
    R1 P1,
    R1 P2,
    R1 P3,
    R2 P3,
    R2 P2,
    R2 P1,
    R3 P1,
    R3 P2,
    R3 P3
    Dann machst du eine Hilfsspalte, in der du einfach eine andere Platznummer vergibst, also für Platz 1 die 3 und für Platz 3 die 1.

    Wenn das irgendwie dynamischer sein soll, dann brauchen wir Beispielsszenarien, um das nachzuvollziehen.
    ja genau wie @Haudruferzappeltnoch in seiner zweiten Variate zeigt, nur leider komm ich nicht drauf, wie ich es mit Excel so sortiert bekomme
    Dateien
    • Mappe2.xlsx

      (9,77 kB, 993 mal heruntergeladen, zuletzt: )
    Gruß Matze 8-)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „matze.tele“ ()

    Dann ist es vermutlich erstmal ratsam das aufzuteilen:
    Spalte A: "Zeichenkette", Bsp. 100-107-183-C-02
    Spalte B: "Halle", =GANZZAHL(TEIL($A2;1;3))
    Spalte C: "Reihe", =GANZZAHL(TEIL($A2;5;3))
    Spalte D: "Regal", =GANZZAHL(TEIL($A2;9;3))
    Spalte E: "Ebene", =TEIL($A2;13;1)
    Spalte F: "Platz", =GANZZAHL(TEIL($A2;15;2))

    Dann ist der Trick Spalte G =$F2*(-1)^($C2-1),
    Filter setzen und benutzerdefiniert nach Reihe + Spalte G sortieren

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Haudruferzappeltnoch“ ()

    F2 ist ja der Platz und C2 die Reihe.

    -1^[gerade Zahl] = 1
    und -1^[ungerade Zahl] = -1

    Es wird also nur das Vorzeichen der Platzzahl in Abhängigkeit der Reihe gewechselt. Jede zweite Reihe bekommt negative Plätze.
    (C2 - 1), damit die erste Reihe bei positiven Zahlen anfängt. Nur mit C2 würde genauso gehen, dann fängt die erste Reihe aber hinten an.

    Wenn das Vorzeichen wechselt, wechselt damit auch automatisch die Sortierrichtung.