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

VBA Artikel nacheinander

VBA Artikel nacheinander
23.09.2017 12:30:47
Jojo
https://www.herber.de/bbs/user/116444.doc
https://www.herber.de/bbs/user/116445.xlsm
Moin,
Ich suche immer noch verzweifelt nach einer Antwort für folgendes Problem:
Ich habe einen Quellcode, der nicht ganz das tut, was ich von ihm möchte.
Die dazugehörige Aufgabe ist auf dem Aufgabenblatt "2."
Die Datei soll die Artikel in den Aufträgen NACHEINANDER abarbeiten, jedoch ist es bei jedem Auftrag unterschiedlich.
Wenn man als Beispiel 6km/h eingibt, dann kommt als erste Zahl 90sekunden raus.
Kontrolle:
Artikel 1 im Auftrag A001 befindet sich im Bereich "C".
Artikel 2 im Bereich "E".
Artikel 3 im Bereich "C".
Nun soll er die Artikel NACHEINANDER "anfahren", jedoch fügt er die Bereiche C zusammen und fährt diese nicht doppelt an.
Dabei entsteht folgende Abweichung:
Beim richtigen Ergebnis müsste ((35m + 35m + 115m)/ (6km/h * 16,667))/60 = 110s herauskommen
Jedoch rechnet er ((35m + 115m) / (6km/h*16,667))*60 = 90s
Das wäre ja auch nicht so schlimm, wie man im Aufgabenblatt sehen kann ist genau dies unter 4. gefordert (allerdings natürlich für ALLE Aufträge), jedoch ist beim nächsten Auftrag "A002" wieder ein anderer Weg.
Artikel 1 im Auftrag A002 ist in Bereich "E".
Artikel 2 ist im Bereich "B"
Artikel 3 ist im Bereich "B"
Artikel 4 ist im Bereich "E"
Artikel 5 ist im Bereich "E"
Die geforderte Lösung für Aufgabe 2 sieht wie folgt aus/Kontrolle:
(100m + 0m + 100m + 0m + 100m) / ( 6km/h * 16,667)) * 60 = 180s
Dies gibt der Computer auch aus. Hier hat er also nicht die Bereiche "B" und "E" zusammengefasst, sondern fährt diese NACHEINANDER ab.
Hätte der Computer sein Muster beibehalten und würde ebenfalls wie bei Auftrag A001 agieren, so wäre es folgende Rechnung/Ausgabe gewesen:
((100m + 100m) / ( 6km/h * 16,667) * 60 = 120s
Da dies nicht der Fall ist ändert er ständig seine Muster, dieses Problem kann ich nicht selber beheben und würde mich freuen, wenn mir jemand helfen könnte.
LG,
jojo
P.S.: An einem 3. Beispiel sieht man die Willkür noch genauer -
Artikel 1 in Auftrag A003 ist in Bereich "B"
Artikel 2 ist in Bereich "D"
Anschließend (das kann man dem Aufgabenblatt entnehmen) muss der Gabelstapler/der Mitarbeiter immer in den Kommissionierbereich.
Wenn man sich worksheet.("Entfernungen") anschaut, so muss die Entfernung von Bereich "D" zum Kom.Bereich 150m betragen. Jedoch vertauscht der Quellcode ohne mir ersichtlichen Grund die Artikel 1 und 2, sodass der Gabelstapler/Mitarbeiter erst in Bereich "D" ist und anschließend in Bereich "B", dadurch beträgt die letzte Entfernung zum Kom.Bereich nur noch 100m.
Die richtige Lösung wäre:
((60m + 150m) / ( 6km/h * 16,667) * 60 = 126s
Der Computer hat aber aufgrund der Umstellung gerechnet:
((60m + 100m) / ( 6km/h * 16,667) * 60 = 96s
Wer sich alle Aufgaben durchgelesen hat, dem wird auffallen, dass dies die sogenannte Optimierung ist (allerdings natürlich für ALLE Aufträge), .
Wie man sehen kann macht der Code, was er will! HELP ME!!!
P.P.S.: Würdet ihr, wenn ihr in meiner Position wärt einen neuen Code schreiben? Ich bin für alle Möglichkeiten offen.
P.P.P.S.: mein Beitrag ist auch in anderen Foren aufgelistet

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Artikel nacheinander
23.09.2017 12:43:23
SF
Hola,
warum machst du einen neuen Beitrag auf?
Gruß,
steve1da
AW: VBA Artikel nacheinander
23.09.2017 12:49:52
Jojo
Weil bei dem anderem negative persönliche Kritik kam.
Ich hatte das Gefühl, dass dies andere abgeschreckt hat zu antworten.
AW: VBA Artikel nacheinander
28.09.2017 21:13:40
Robert
Hallo jojo,
da hast Du aber ein ganz schönes Projekt vor Dir.
Ich habe mal in beiliegender Datei versucht, eine Lösung ohne VBA, dafür mit einigen Hilfsspalten, zu erstellen. Die zu Grunde zu legende Gabelstapler-Geschwindigkeit kann in der Zelle G1 der Tabelle Auftrag eingegeben werden.
Bei den in Deinem Post geschilderten richtigen Lösungen fehlt aber meiner Meinung nach noch etwas. Für den Auftrag A001 z. B. berechnest Du die Entfernung für die Strecke Komm.Ber --> Bereich C--> Bereich E --> Bereich C. Der Gabelstapler fährt danach aber doch noch in den Komm.Ber. zurück. Diese Strecke zurück in den Komm.Ber. fehlt bei Deinen Lösungen.
In der Tabelle Auftrag ist dann jeweils der schnellste und der langsamste Auftrag mit Hilfe der bedingten Formatierung gekennzeichnet.
In der Tabelle Verbesserung sind die Artikel mit einer bestimmten Farbe je Lagerbereich (mit der bedingten Formatierung) gekennzeichnet.
In der Tabelle Optimierung soll wohl die optimalste Reihenfolge der anzufahrenden Lagerbereiche ermittelt werden. Leider gibt es wohl kein Verfahren, welches dieses Problem schnell löst. Dir bleibt nicht viel mehr übrig, wenn du das optimale Ergebnis haben willst, als alle Varianten durchzuprobieren (siehe hierzu auch im Internet das "Problem des Handlungsreisenden" z. B. auf https://de.wikipedia.org/wiki/Problem_des_Handlungsreisenden).
Meine Datei ist nur als kleiner Denkanstoß zu verstehen.
https://www.herber.de/bbs/user/116615.xlsx
Gruß
Robert
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige