13.04.2017, 15:18
Hallo liebes Board,
vorab, da ich ein Excel Programm für eine Firma schreibe werde ich keine detailierten Informationen geben können aus Gründen der Geheimhaltung.
Im Prinzip geht es darum, dass ca. 2000 Verschiedene Artikel auf 16 unterschiedlichen Paletten Optimal zusammengestellt werden zum Verschicken. Es gibt dabei massenweise Regeln, die ich einzuhalten habe, wie zum beispiel, dass wenn ein bestimmter artikel auf der Palette liegt, nur eine bestimmte Auswahl anderer Artikel dort hinzugestellt werden darf.
Aktuell sieht mein Programm so aus, dass ich sämtliche artikel eingebe, mit Anzahl, und ob Abstandshalter verwendet werden, das Programm ermittelt dann anhand von maximalen Belegungs-variablen, größe der Paletten und der Teile sowie div. Abhänigkeiten von der Artikelzahl die Belegung einer Artikelsorte auf bis zu maximal 7 Paletten. Dazu hab ich das ganze nochmal anhand der mir dadurch ausgegebenen Werte optimale Bestückungs-Formeln definiert. Beispiel:
6 teile gehen auf eine Palette, wenn 7 Teile bestellt werden teilt mir mein Programm das dann so mit, dass 6 teile auf einer Palette und 1 einzeln auf einer anderen liegt, was schwachsinn ist, ergo hab ich´s so geschrieben, dass er mir dann anfängt alles auf die Paletten zu verteilen.... funktioniert ganz gut, bis auf ein paar kleinere Fehler wie z.b.: 25 Teile gehen auf eine Palette, bei 82 teilt er es mir dann auf in 21, 21, 21, 19 anstatt 21, 21, 20,20... aber wurst, das ist nicht das Problem.
Zum eigendlichen Problem:
Bis jetzt ist alles nur sortenrein Sortiert, aber Bestellungen sehen dann teilweise so aus: Teil A x13 Teil B x1 Teil C x2 .... Platztechnisch gesehen passt alles auf eine Palette, wenn nicht Beschränkungen vorliegen wie ganz oben erwähnt. Daher muss ich Zusammenfügen. Gehen wir jetzt von einem Platz von 6 Teilen aus, welcher Art auch immer, und der Auflistung von vor 2 Sätzen dann soll das Programm mir Rauswerfen: Teil A je 2 mal mit 6 teilen auf eine palette, und auf die dritte Palette Teil A 1x Teil B 2x Teil C 2x.
Es wird übrigends soweit wie ich jetzt das Programm geschrieben habe auch mir angezeigt, auf welcher Palette noch Platz ist und ob auf einer kein Platz mehr vorhanden ist. Nur gibt auch die möglichkeit, dass Teil A eine Palette nicht füllt, Teil B allerdings eine Palette alleine ausfüllt aber dennoch auf A draufpassen würde, so dass ich im endeffekt nur eine Palette habe.
Ich bin übrigends total unbewandert in der verwendung von VBA, also bitte alternativlösungen^^, hab das restliche Programm auch nur mit =Wenn, Und, Oder, Sverweis und so befehlen geschrieben, Teilweise steht in einer Zelle eine Formel über 12 Zeilen, funktioniert aber....
Zur Lösung des Problems würde ich gerne wie folgt vorgehen, allerdings nimmt der das leider nicht so an wie ich das will, villeicht ist es nicht möglich über diese Vorgehensweise oder ich hab nen Denkfehler.... Kopfweh hab ich ohnehin schon:
Erstmal Sortierung nach Größe:
Wenn diese größe in dieser matrix enthalten ist, dann den Artikel aus eben dieser Zeile mit Spalten-angabe rausziehen, wenn nicht dann die nächste größe.(insgesammt 20 Zeilen)
Prüfung auf Platz:
Wenn diese größe in dieser matrix enthalten ist, dann den prüfe ob die erste palette voll ist, wenn ja tue nichts, wenn nein ermittle wie viel platz ist,
und weiter komm ich eh grad nicht, weil ich muss ja dann sowol die vollen paletten ausgeben, wie auch irgendwie die anderen Teile umbasteln auf den ermittelten Platz.
Tut mir Leid für dieses Wirrwar, aber ich schreibe jetzt seid einer Woche 8 h am Tag daran rum und es ist nunmal sehr Komplex, vorallendingen sehr verwirrend.
Nochmehr tut mir die IT-Abteilung leid, die das Programm später auf Java umschreiben darf um es auf SAP einzubinden :19:
Liebe Grüße und vorab schonmal danke
vorab, da ich ein Excel Programm für eine Firma schreibe werde ich keine detailierten Informationen geben können aus Gründen der Geheimhaltung.
Im Prinzip geht es darum, dass ca. 2000 Verschiedene Artikel auf 16 unterschiedlichen Paletten Optimal zusammengestellt werden zum Verschicken. Es gibt dabei massenweise Regeln, die ich einzuhalten habe, wie zum beispiel, dass wenn ein bestimmter artikel auf der Palette liegt, nur eine bestimmte Auswahl anderer Artikel dort hinzugestellt werden darf.
Aktuell sieht mein Programm so aus, dass ich sämtliche artikel eingebe, mit Anzahl, und ob Abstandshalter verwendet werden, das Programm ermittelt dann anhand von maximalen Belegungs-variablen, größe der Paletten und der Teile sowie div. Abhänigkeiten von der Artikelzahl die Belegung einer Artikelsorte auf bis zu maximal 7 Paletten. Dazu hab ich das ganze nochmal anhand der mir dadurch ausgegebenen Werte optimale Bestückungs-Formeln definiert. Beispiel:
6 teile gehen auf eine Palette, wenn 7 Teile bestellt werden teilt mir mein Programm das dann so mit, dass 6 teile auf einer Palette und 1 einzeln auf einer anderen liegt, was schwachsinn ist, ergo hab ich´s so geschrieben, dass er mir dann anfängt alles auf die Paletten zu verteilen.... funktioniert ganz gut, bis auf ein paar kleinere Fehler wie z.b.: 25 Teile gehen auf eine Palette, bei 82 teilt er es mir dann auf in 21, 21, 21, 19 anstatt 21, 21, 20,20... aber wurst, das ist nicht das Problem.
Zum eigendlichen Problem:
Bis jetzt ist alles nur sortenrein Sortiert, aber Bestellungen sehen dann teilweise so aus: Teil A x13 Teil B x1 Teil C x2 .... Platztechnisch gesehen passt alles auf eine Palette, wenn nicht Beschränkungen vorliegen wie ganz oben erwähnt. Daher muss ich Zusammenfügen. Gehen wir jetzt von einem Platz von 6 Teilen aus, welcher Art auch immer, und der Auflistung von vor 2 Sätzen dann soll das Programm mir Rauswerfen: Teil A je 2 mal mit 6 teilen auf eine palette, und auf die dritte Palette Teil A 1x Teil B 2x Teil C 2x.
Es wird übrigends soweit wie ich jetzt das Programm geschrieben habe auch mir angezeigt, auf welcher Palette noch Platz ist und ob auf einer kein Platz mehr vorhanden ist. Nur gibt auch die möglichkeit, dass Teil A eine Palette nicht füllt, Teil B allerdings eine Palette alleine ausfüllt aber dennoch auf A draufpassen würde, so dass ich im endeffekt nur eine Palette habe.
Ich bin übrigends total unbewandert in der verwendung von VBA, also bitte alternativlösungen^^, hab das restliche Programm auch nur mit =Wenn, Und, Oder, Sverweis und so befehlen geschrieben, Teilweise steht in einer Zelle eine Formel über 12 Zeilen, funktioniert aber....
Zur Lösung des Problems würde ich gerne wie folgt vorgehen, allerdings nimmt der das leider nicht so an wie ich das will, villeicht ist es nicht möglich über diese Vorgehensweise oder ich hab nen Denkfehler.... Kopfweh hab ich ohnehin schon:
Erstmal Sortierung nach Größe:
Wenn diese größe in dieser matrix enthalten ist, dann den Artikel aus eben dieser Zeile mit Spalten-angabe rausziehen, wenn nicht dann die nächste größe.(insgesammt 20 Zeilen)
Prüfung auf Platz:
Wenn diese größe in dieser matrix enthalten ist, dann den prüfe ob die erste palette voll ist, wenn ja tue nichts, wenn nein ermittle wie viel platz ist,
und weiter komm ich eh grad nicht, weil ich muss ja dann sowol die vollen paletten ausgeben, wie auch irgendwie die anderen Teile umbasteln auf den ermittelten Platz.
Tut mir Leid für dieses Wirrwar, aber ich schreibe jetzt seid einer Woche 8 h am Tag daran rum und es ist nunmal sehr Komplex, vorallendingen sehr verwirrend.
Nochmehr tut mir die IT-Abteilung leid, die das Programm später auf Java umschreiben darf um es auf SAP einzubinden :19:
Liebe Grüße und vorab schonmal danke