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

Auftragssteuerung

Auftragssteuerung
27.05.2016 19:07:00
stef26
Hallo Zusammen,
ich verzweifle in meiner Arbeit an der Steuerung von Aufträgen.
Ich würde gerne berechnen, an welchen Tag ein gestarteter Auftrag geliefert werden kann.
Ich lade mir täglich aus einem System alle Aufträge in Excel, wo ich jetzt die Berechnung machen möchte.
Da mein VBA in den Kinderschuhen steckt würde ich gerne den ersten Schritt der Umsetzung mit eurer Hilfe zusammen gestalten.
Wie kann ich nach Aufträgen, zuerst nach Prio dann nach kleinstem Datum und nur dann wenn unter Störung kein x in der Spalte steht, suchen?
Genauere Beschreibung im Tabellenblatt Beschreibung...
ttp://www.herber.de/bbs/user/105828.xlsm
Falls jemand denkt das komplett lösen zu können, könnte ich mir auch eine kleine Spende gut vorstellen, da wie schon gesagt das Projekt für mich schon auf Grenzen stossen lässt.
Liebe Gruesse
Stefan

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auftragssteuerung
27.05.2016 20:13:41
Fennek
Hallo,
könntest du bitte die Datei im xlsx-Formal noch einmal hochladen, die Makros, falls für das Verständnis nötig, hier im Fenster als Text.
Auch schon vor "Trsty, Locky usw" war vba als Sicherheitsrisiko bekannt.
mfg

AW: Auftragssteuerung
27.05.2016 20:52:09
stef26
Hallo Fennek,
hab die Datei nun unter xlsx reingestellt.
https://www.herber.de/bbs/user/105833.xlsx
Macros hab ich noch keine, da ich mit dem ersten Suchen schon nicht klar gekommen bin...
LG
Stefan
P.S. von Trsty & Locky hab ich noch gar nichts gehört...

Anzeige
AW: Auftragssteuerung
27.05.2016 21:55:56
Michael
Hi zusammen,
Du lädst die "Aufträge" täglich neu ins System. Ok, aber dann werden alle Änderungen, die dort (vom Makro) vorgenommen werden, wieder überschrieben: das kann nicht der Sinn der Sache sein.
Gibt es denn auch einen Weg "rückwärts"?
Für eine "kleine Spende" wäre mir das ganze Ding zu umfangreich...
Schöne Grüße,
Michael

AW: Auftragssteuerung
27.05.2016 22:05:19
stef26
Hi,
es geht um die voraussichtlichen Liefertermine. Ja die Liste wird täglich neu eingeladen.
Ich weiß auch, dass mit zunehmender Tagesberechnung die Abweichungen immer größer werden.
Aber besser als nichts in der Hand zu haben und am Ende feststellen zu müssen, dass Aufträge zu spät geliefert worden sind...
Trotzdem danke für deine Einschätzung.
Ehrlich gesagt hab ich das auch vermutet, dass dies ganz schön Umfangreich werden könnte...
Gruß
Stefan
P.S. Vielleicht findet sich ja Jemand, der wie ich Spass an der Sache hat und etwas mehr Erfahrung in VBA wie ich...

Anzeige
AW: Auftragssteuerung
27.05.2016 23:28:57
Fennek
Hallo,
in einem "10-Minuten-Test" konnte ich zwar den Autofilter von Hand auf die in Punkt 1 gesetzen Werte setzen, der der entsprechende code zeigte Abweichungen.
Meine Einschätzung: Ich empfehle einen Dienstleister zu beauftragen, mich mich ist es zu komplex für eine kostenlose Hilfe.
Vielleicht sehen das andere, bessere Helfer anders.
mfg

AW: Auftragssteuerung
28.05.2016 07:46:10
stef26
Guten Morgen Fennek,
danke für deine Einschätzung.
Ich sehe das ähnlich. Auftragsprogrammierung kann ich mir leider nicht leisten,
und meine Firma kommt mir da auch nicht entgegen.
Da ich das jedoch für mich als Erleichterung mache, und auch Spass an VBA habe (obwohl ich noch völliger Anfänger bin) werde ich versuchen das Wichtigste so Schritt für Schritt zu realisiern.
Vielleicht kann mir ja jemand zu dem Suchen und Finden des richtigen Auftrages helfen?
Liebe Grüsse
Stefan

Anzeige
AW: Auftragssteuerung
27.05.2016 23:30:03
Fennek
sorry, ich vergaß das Häckchen bie "offen" zu setzen

AW: Auftragssteuerung
28.05.2016 12:45:17
Fennek
Hallo Stefan,
die Beschreibung des "Auftrags" ist zwar erstklassisch, aber eine Nachfrage hätte ich dennoch:
In Zeile 4 steht "der Auftrag mit der niedristen Prio" (warum nicht der höchsten?), welche Spalte ist damit gemeint, Spalte B "APRIO" oder Spalte N "mit Prio".
Es ist denkbar, dass mit relativ wenigen Autofilter-Befehlen die "Aufgabe" lösbar ist.
mfg

AW: Auftragssteuerung
28.05.2016 13:30:42
stef26
Hi,
das ist APRIO.
Ich versuch's auch aber irgendwie stoss ich immer auf meine Grenzen.
Wäre cool wenn das mit Filtern funktionieren könnte.
Liebe Grüsse
Stefan

Anzeige
AW: Auftragssteuerung
28.05.2016 13:33:49
stef26
Ach mit höchster Prio meinte ich Prio1

AW: Auftragssteuerung
28.05.2016 14:49:06
Matthias
Hallo! Habe noch Ex2003 und kann da mit einer xlsx nichts anfangen. Habe sie zwar mal mit Open Office gestartet aber da hat das Blatt Aufträge keine Überschriften. Da lässt sich also nicht entnehmen, was wo steht , wie die Priorität gesetzt wird usw.. Bei der Beschreibung war alles zu lesen und die anderen Blätter gingen glaube ich auch. Kannst du da ggf. mal nen Bild von den Spaltenköpfen im Blatt Aufträge posten? Und (kann aber auch an den fehlenden Überschriften liegen), woraus besteht die Priorität (die Spalte die ich dafür gehalten habe, so nicht danach aus - hatte eher was numerischen erwartet)? Scheint zwar recht komplex zu sein aber vllt. kann man ja zu dem ein oder anderem Bereich was beisteuern. Gruß Matthias

Anzeige
AW: Auftragssteuerung
28.05.2016 15:04:40
stef26
Hi,
was beisteuern hört sich immer gut an...
Userbild
in Spalte B ist die Prio (falls es eine gibt)
:-)
Stefan
P.S. Kann mich erst wieder gegen 17.00Uhr melden...

AW: Auftragssteuerung
28.05.2016 18:39:29
Matthias
Hallo!
Also konnte die Überschrift nur bis Spalte K sehen. Aber egal. Habe mal was gebastelt - wegen Ex2003 - und einige Teile beabeitet. Zu mindest nach meinen Vorstellungen und meiner Datei sollte das passen. Betrifft A,B,C,F und Teile von E. Für den Rest fehlt mir aber INPUT (kann auch an der nachgebauten Datei liegen). BSpw. bei D. Wo und was (welchen WErt) muss man eintragen. Worauf bezieht sich bei G die Zeile 1. In AUfrtagsteuerung steht ja in Spalte C in der ersten Zeile schon was. Für E habe ich den Filter vorbereitet - da weis ich aber nicht genau, was und wo zu prüfen wäre (also wie ich prüfe ob alle fertig sind - hängt wohl auch mit D zusammen).
Und dann ist da mE ein Umbruch in der Beschreibung. Zuerst sind wir bei den Aufträgen und plötzlich prüfen wir Arbeitsplätze (ab ca. F). Da bin ich noch nicht ganz mitgekommen, wo wir da wechseln. Ich dachte erst, alle Aufträge in einer Schleife durchgehen. Oder soll die SChleife noch kommen? Also da ggf. nochmal den Ablauf präzisieren.
Hier die Datei zum Prüfen, was falsch war bzw. ob die Schreibweise richtig war: (ist ohne COde)
https://www.herber.de/bbs/user/105840.xls
Und unten der Code. Hoffe das mit dem Codeumbruch hat geklappt, nutze ich sonst nicht.
Schau mal, ob das so stimmt. Wie gesagt in meiner Datei (deshalb beigefügt) hat es eigentlich funktioniert. Weiß nur nicht, ob die identisch mit deiner ist.
Vllt. hilft es aber erstmal weiter.
Viele Grüße MAtthias
Sub sortieren()
Dim letzte As Long
Dim letzte2 As Long
Dim prio
Dim i As Long
Dim arbeitsplatz
Dim spaltearbpl As Long
Dim auftragnr
Dim arbeitszeit
letzte = Worksheets("Aufträge").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Aufträge").Activate
'musste ich machen, da bei mir das Datum als Text stand und sonst nicht sortiert werden konnte
For i = 2 To letzte
If IsNumeric(Left(Worksheets("Aufträge").Cells(i, 7), 1)) Then _
Worksheets("Aufträge").Cells(i, 7)  = CDate(Worksheets("Aufträge").Cells(i, 7))
Next i
Worksheets("Aufträge").Range("A2:U" & letzte).Sort Key1:=Worksheets("Aufträge").Range("B2"), _  _
Order1:=xlAscending, Key2:=Worksheets("Aufträge").Range("G2"), Order2:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:= _
xlSortNormal, DataOption2:=xlSortTextAsNumbers
'suchen wo kein T steht
i = 2
While (Worksheets("Aufträge").Cells(i, 20) = "T")
i = i + 1
Wend
'jetzt sollte die Zeile da sein, die kein T hat
prio = Worksheets("Aufträge").Cells(i, 2)
arbeitsplatz = Worksheets("Aufträge").Cells(i, 11)
auftragnr = Worksheets("Aufträge").Cells(i, 3)
arbeitszeit = Worksheets("Aufträge").Cells(i, 8)
'Zeile für Eintrag suchen
letzte2 = Worksheets("Auftragsteuerung").Cells(Rows.Count, 1).End(xlUp).Row
'Datum eintragen
Worksheets("Auftragsteuerung").Cells(letzte2 + 1, 1) = Date
'Arbeitsplatz suchen
If Application.WorksheetFunction.CountIf(Worksheets("Auftragsteuerung").Rows(3), _
arbeitsplatz) > 0 Then _
spaltearbpl = Worksheets("Auftragsteuerung").Rows(3).Find(arbeitsplatz).Column
Else
MsgBox "Arbeitsplatz wurde nicht gefunden. Ende!"
End
End If
Worksheets("Auftragsteuerung").Cells(letzte2 + 1, spaltearbpl) = auftragnr
'F  Zeit eintragen
Worksheets("Auftragsteuerung").Cells(letzte2 + 1, spaltearbpl + 1) = arbeitszeit
'D  jetzt Status eintragen
'den sehen ich nicht , Datei nur nachgestellt
'E  woran erkennt man, dass alle bearbeitet wurden?
' Vorschlag wäre nach Auftrag filtern und dann wo auch immer prüfen,
' könnte ggf. so gehen
' FIlter setzen
Dim filterbereich As Range
Dim zelle
Worksheets("Aufträge").Columns(3).AutoFilter Field:=1, Criteria1:="=" & auftragnr, _
Operator:=xlAnd, Visibledropdown:=False
Set filterbereich = Worksheets("Aufträge").Range("C2:C" & letzte).SpecialCells( _
xlCellTypeVisible)
For Each zelle In filterbereich
'hier nurn prüfen ob die Arbeitsplätze fertig ist
Next zelle
' Filter wieder raus oder alles anzeigen
Worksheets("Aufträge").Columns(3).AutoFilter
End Sub

Anzeige
AW: Auftragssteuerung
29.05.2016 10:33:29
stef26
Hallo Matthias,
werde erst heute Abend dazukommen mir das Skript mal anzusehen.
Danke schon mal für deine Hilfe.
Werde mich später bei dir nochmal melden...
Liebe Grüße
Stefan

Auftragssteuerung-mal ein Anfang
28.05.2016 20:11:33
Michael
Hi Stefan,
hier mal ein Anfang (der ist ja bekanntlich am schwersten); vielleicht kommst Du dann selbst ein Stück weiter.
Die Datei: https://www.herber.de/bbs/user/105842.xlsm
Im Detail müßte man den vorletzten Schritt (Einträge mit "Störung" finden und entfernen) evtl. noch überarbeiten: hier bin ich mit den Ergebnissen von Excel nicht einverstanden (Kommentar im Skript).
Schöne Grüße,
Michael

Anzeige
AW: Auftragssteuerung-mal ein Anfang
29.05.2016 10:31:12
stef26
Hallo Michael,
werde erst heute Abend dazukommen mir den von dir erstellten Anfang mal anzusehen.
Wollte mich aber schon jetzt recht herzlich bei dir bedanken.
Werde dir Rückmeldung geben, inwieweit ich den von dir erstellten Anfang nutzen konnte.
Liebe Grüsse
Stefan

Jetzt aber!
29.05.2016 18:42:05
Michael
Hi zusammen,
ich habe "mein" Ding nochmal im Detail überarbeitet, weil es mich gewundert hatte, daß am Ende nicht richtig sortiert wurde.
Das lag daran, daß im Original die Datumsangaben in Spalte G KEIN gültiges Excel-Datum sind; nach dem Kopieren des Tabellenblattes zur weiteren Bearbeitung wird das jetzt konvertiert, und dann paßt auch die Sortierung.
@Fennek: Ich finde es etwas schofel, daß Du den Thread in ein anderes Forum ziehen willst.
@Matthias: Anbei eine Datei im alten Excel-Format für Dich. Excel hat einige Sachen angemeckert: den "geringfügigen Genauigkeitsverlust" (wie immer halt, unwichtig) und bedingte Formatierungen im Blatt "Auftrag". Ich habe die Datei in XL 2000 geöffnet und sehe nichts Verkehrtes, einzig mein Makro ist hängengeblieben, weil einer der Parameter von .Find nicht erkannt wurde - habe ich geändert, so daß es auch mit XL2000 läuft.
Lustig finde ich, daß die Konvertierung der Datumsspalte (bzw. das ganze Makro) in XL2000 wesentlich schneller rennt als in XL2007 - die 2013-Maschine habe ich gerade nicht an.
Das bestätigt mal wieder meine grundsätzliche Meinung, daß alles ab XL2003 reine Kosmetik war...
@Stefan: Mein Ansatz besteht im Wesentlichen darin, daß ich die Daten mehrmals nacheinander sortiere und nicht benötigte Datensätze rauswerfe: so bleiben am Schluß statt 1630 nämlich noch 606 (mit meinem einen ja in Störung) bzw. 607 übrig.
Ich finde es so viel handlicher als das ewige Mitschleppen von Filtern. Geschmackssache.
Die Datein: https://www.herber.de/bbs/user/105850.xlsm
und (X97): https://www.herber.de/bbs/user/105851.zip
Auch ich mache denn erst auf Zuruf weiter, aber wenn, dann hier im Forum.
Schöne Grüße,
Michael

Anzeige
AW: 1. Ergebnisse, bitte prüfen
28.05.2016 21:00:44
Fennek
Hallo Stefan,
nach einigen Test liefert der Makro jetzt erste Ergebnisse, die zumindest deine farblich markierten Zellen für den ersten Fall reproduzieren. Bitte prüfe sie.
mfg
Fennek
https://www.herber.de/bbs/user/105843.txt

AW: Version 2: mit allen einzutragenden Werten
29.05.2016 11:13:40
Fennek
Hallo Stefan,
anbei die Ergebnisse meines Makros "Version 2". Die Werte z.B. für die benötigten Stunden werden herausgesucht. Insgesamt ist der Makro so gut strukturiert, dass spätere Änderungen/Anpassungen mit vergleichweise wenig Aufwand (von dir) eingearbeitet werden können.
mfg
Daten: https://www.herber.de/bbs/user/105847.txt
PS: nett, ein kleiner Wettbewerb um den besten Code

Anzeige
AW: Version 2: mit allen einzutragenden Werten
29.05.2016 13:29:11
stef26
Hallo Fennek,
es war nicht meine Absicht, dass so viele Personen parallel an diesem Thema arbeiten.
Allerdings habe ich erkannt, dass man durch einfache Filterungen schon einen Großteil der
von mir gedachten Arbeit erledigen kann. Wenn die Tabelle dann richtig sortiert wurde, ist
der Weg zum Ziel auch nicht mehr so weit.
Das mit der Auflistung verstehe ich zwar ist aber nicht das was ich brauche. Vermutlich habe ich es schlecht beschrieben.
In der Auflistung sollen z.B. beim Arbeitsplatz 12601400 nur die Aufträge aufgelistet werden, die für diesen Tag zur Verfügung stehende Stunden.
Ist z.B. Montag so ist das Wochentag 1 und es stehen 15h zur Verfügung.
Es dürfen nun für diesen Montag nur so viele Aufträge aufgelistet werden, die in den 15h machbar sind.
Ist ein Auftrag bei dem einen Arbeitsplatz abgearbeitet, so landet er dann ggf. auf einen anderen Arbeitsplatz.
Das kann man gut erkennen, wenn man bei Aufträge mal nach einem Auftrag z.B. 6056841 filtert.
Ist dieser bei dem Arbeitsplatz 12601400 erledigt, dann steht dieser beim Arbeitsplatz 12601404 zur
Bearbeitung an.
So wird die Simmulation so sein, dass vermutlich erst nach 6-7 Tagen alle Aufträge über die Arbeitsplätze gelaufen sind.
In der Auflistung möchte ich genau das darstellen. (wie genau weiß ich noch gar nicht)
So dass für jeden Tag für jeden Arbeitsplatz eine Auflistung der Aufträge gemacht wird, die bearbeitet werden können.
Erst wenn ein Auftrag keinen weiteren Arbeitsplatz mehr in der Auftragsliste hat, dann kann dieser
in die Tabelle Fertige Aufträge landen und man weiß dann, wann man diesen Auftrag liefern kann.
Gruß
Stefan

AW: Version 2: mit allen einzutragenden Werten
29.05.2016 13:49:59
Fennek
Hallo Stefan,
danke für die Rückmeldung. Nach dem ersten Heraussuchen sind noch mehrere, relativ komplexe Schritte notwendig. Deswegen habe ich für mich deine Antfrage auf "hold" gesetzt und werden mich erst wieder damit beschäftigen, wenn du mir bei www.clever-excel-forum.de eine PN schickst. Nach meiner Kenntnis geht das nicht hier im Forum.
mfg

AW: Version 2: mit allen einzutragenden Werten
29.05.2016 14:05:11
stef26
Hallo Fennek,
was ist eine PN ?
Gruß
Stefan

AW: Version 2: mit allen einzutragenden Werten
29.05.2016 16:25:35
Fennek
Hallo Stefan,
eine PN ist ein "persönliche Nachricht", also quasi eine e-mail innerhalb eines Forums. Die anderen Excel-Foren bieten das an, Herber.de meines Wissens nicht.
mfg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige