Microsoft Excel

Herbers Excel/VBA-Archiv

Makro Sortierung Preisspiegel

Betrifft: Makro Sortierung Preisspiegel von: Stefan
Geschrieben am: 12.10.2020 13:24:48

Hallo,

ich bastle gerade an einer Preisspiegelvorlage (wie viele gibt es davon wohl schon weltweit?), welche nach der Einpflege die Bieter auch sortieren können soll.

In meinem Beispiel etwa sollte nach der Sortierung der niedrigste Bieter links (also ab Spalte D), der höchste rechts stehen. Die korrekte Reihenfolge hier wäre also: Maier- Huber- Müller

https://www.herber.de/bbs/user/140822.xlsx

Könnte jemand von euch ein passendes Makro dazu schnitzen?

Ach ja- natürlich sind immer unterschiedlich viele Bieter zu sortieren... ;-)

Ich danke euch!

Betrifft: AW: Makro Sortierung Preisspiegel
von: Yal
Geschrieben am: 12.10.2020 17:21:18

Ganz einfach, ohne Makro, ohne Formel (na ja, Sverweis):

organisiere deine Daten Tabellenweise:
Tabelle 1:
_ Anbieter
_ Produkt
_ Angebot

Tabelle 2:
_ Produkt
_ Menge

in Tabelle 1 mit einem SVerweis fügst Du die Menge pro Produkt (Spalte D) und daraus den Produkt (Spalte E).

Pivotabelle auf das Gesamt. Anbieter als Zeilenüberschrift, Gesamtpreis als Wert (Summe). Dann Anbieter nach Summe von Preis sortieren.

Wie das Gesamt per Makro Recorder sich automatisieren lässt, wird jezt viel leichter.

https://www.herber.de/bbs/user/140838.xlsx

Viel Erfolg
Yal

Betrifft: AW: Makro Sortierung Preisspiegel
von: Stefan
Geschrieben am: 13.10.2020 10:01:54

Lieber Yal,

ich danke dir für deine Überlegungen!

Leider treffen sie nicht ganz meine Bedürfnisse.

- In der "echten" Anwendung haben wir es in der Regel mit einer ganzen Menge Firmen (Spalten) und hunderten Positionen (Zeilen) zu tun; eine Zusammenführung dieser Datenfülle in eine rein vertikale Organisation wie in deiner Tabelle 1 angedacht wäre daher kaum durchführbar

- Die Vorlage soll an Kollegen ausgerollt werden, die seit "Jahrhunderten" mit der Preisspiegelstruktur wie von mir dargestellt arbeitet; die ganze Branche denkt in diesem Schema (in "echt" geht es bei uns um m3 Beton und m2 Ziegelwände etc). Die Akzeptanz der Kollegenschaft für den überarbeiteten Preisspiegel ist daher entscheidend.

- Ich suche daher nach einer Lösung, bei der die Kollegen den Preisspiegel befüllen können wie gewohnt und dann auf eine Schaltfläche "Sortieren" klicken können, um die Firmen von links weg in der Anbotsumme nach rechts ansteigend zu sortieren. Das hinterlegte Makro müsste daher die jeweils zwei zu einer Firma gehörigen Spalten gruppieren, die Firmen in gruppierter Form sortieren und dann die Gruppierungen wieder aufheben. Dieser Vorgang sollte klappen, egal wie viele Firmen angelegt sind (maximal 15).

Excel-mäßig bin ich dafür ein zu kleines Licht; es wäre toll, bekäme das jemand gebacken ;-)

Dank & Grüße,
Stefan

Betrifft: AW: Makro Sortierung Preisspiegel
von: Yal
Geschrieben am: 13.10.2020 11:23:07

Hallo Stefan,

ja, so gesehen, hast Du recht.

Ich sehe eine zweite Möglichkeit:
_ die Lieferanten sollen nicht mehr in verbundene Zellen sein,
_ in Zeile 8 für die Spalten D bis I folgende Formel einfügen (hier am Beispiel Zelle D8)
=WENN(D7="Summe €";E8;D7)
_ dann eine horizontale Sortierung auf dem Bereich D1-I8 verwenden: "Sortieren und filtern >> Benutzerdefinierte Sotieren ...", dann Optionen "Spalten sortieren" nach Zeile 8 und zusätzliche nach Zeile 2 sortieren.

Ansonsten hast Du auch recht: es geht nur mit Makros.

Viel Erfolg
Yal

Betrifft: AW: Makro Sortierung Preisspiegel
von: Stefan
Geschrieben am: 13.10.2020 13:27:57

Hallo Yal,

danke nochmal- habe das ausprobiert und es lässt sich in der "echten" Datei recht gut anwenden!
Ich konnte den Sortierungsvorgang auch als Makro aufnehmen, sollte dann über einen Button also ganz gut abrufbar sein...

...SOLANGE...

...ja solange niemand eine oder mehrere Zeilen aus der Tabelle löscht (was aber immer wieder vorkommen wird)- denn dann greift die Sortierfunktion ins Leere.
Ich bräuchte also im Makro eine Anweisung, nicht immer die gleiche (Zeile 8), sondern genau die jeweils richtige Zeile zu sortieren...

Any idea?

Grüße,
Stefan

Betrifft: AW: Makro Sortierung Preisspiegel
von: Stefan
Geschrieben am: 13.10.2020 13:30:57

Sorry, hatte den Haken für "offene Frage" nicht gesetzt...

Betrifft: AW: Makro Sortierung Preisspiegel
von: Yal
Geschrieben am: 13.10.2020 15:52:12

Nehmen wir an, in der Spalte D wäre immer die letzte Zeile befüllt und in der dritten Zeile wäre immerdie letzte Spalte befüllt.

so würde die Suche nach der "letzte Zelle" und der Aufbau des zu sortierenden Bereichs aussehen:
Function dynBereich() As Range
Dim Sp As Long
Dim Ze As Long

    Ze = Worksheets(1).Range("D100000").End(xlUp).Row
    Sp = Worksheets(1).Range("XFD3").End(xlToLeft).Column
    Set dynBereich = Worksheets(1).Range("D1", Cells(Ze, Sp))
End Function
VG Yal