Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1232to1236
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

Dienstplan

Dienstplan
Becker
Hallo alle miteinander,
Ich bastele an einem Dienstplan für ca. 110 Mitarbeitern („2011 Dienstplan.xlsx“) und möchte die manuelle Daten Eintragung mit VBA Hilfe lösen(falls es möglich ist)! Dienstplan hat nur 2 Schichten AM (Vormittags Schicht) und PM (Nachmittags bzw. Nachtschicht).
Mein VBA wissen ist bescheiden daher vielleicht kann mir jemand weiter helfen.
Ich habe hier einen „ 2011 Dienstplan.xlsx“ s.u.
https://www.herber.de/bbs/user/77192.xlsx
den ich immer manuell bearbeiten muss.
In diese Mappe, Mitarbeiter Tabellen sind nach Vor und Nach-Namen benannt.
Alle Mitarbeitertabellen sind identisch und logisch aufgebaut (nach Datum, KW, AM oder PM Shift=Anfangs/Endzeit, Überstunden).
Folgende Mappe dient als „Daten Quelle.xlsx“
https://www.herber.de/bbs/user/77193.xlsx
„Daten Quelle.xlsx“ hat nur eine Tabelle Namens „ErfassteZeit“.
Ab Spalte „A8-Scott, William“ sind Mitarbeiter Vor und Nach-Name sowie dessen Abteilungen zu finden. Anzahl der Mitarbeitern sind immer variabel aber von Zeile „A8“ geht’s los.
In Zeile „B9“ ist Anfangszeit von „Scott, William“ und „C9“ ist Endzeit.
Der Zeit Format in „Daten Quelle“ wird von ein System ins Excel generiert daher sieht die Zeile „B9“ so aus (Monat-Tag-Jahr Uhrzeit mit Doppelpunkt PM fürs Nachmittagsschicht) 10/17/2011 5:57 PM (ist als Standard Format in Daten Quell Mappe).
Bis jetzt habe ich Anfangs und End Zeit von Mitarbeitern immer manuell in „2011 Dienstplan“ geschrieben.
Als Beispiel in „2011 Dienstplan“ manuell sind alle 5 Mitarbeiter fürs Datum 17.10.2011 eingetragen um zu sehen wie es sein sollte.
Uhrzeit Format (als Zahl) in „2011 Dienstplan“ würde ich gerne behalten.
Der Makro soll den AM Vormittag und PM Nachmittag unterscheiden können. Als Beispiel von „9:00 AM“ bis „9:00 PM“ soll ins Dienstplan der Uhrzeit dann so stehen von „9,00“ bis „21,00“ der Format soll als Zahl bleiben.
Kurz Beschreibung; der Makro soll aus „Daten Quell“ Mappe den Anfangs Und Endzeit von Mitarbeitern ins „2011 Dienstplan“ übertragen.
Detailliert: vielleicht soll Makro in „2011 Dienstplan“ anfangen, d.h. Vor und Nach-Namen Prinzip in diesen Fall ist „Scott, William“ diese Vor und Nachname soll der Makro zuerst in „Daten Quelle“ Mappe in Tabelle „ErfassteZeit“ finden (in Zeile „A8“). Wenn der Vor und Nach-Name („A8“ Scott, William) gefunden wurde dann solle er Anfangs und Endzeit „B9:C12 von dessen Mitarbeiter nach „2011 Dienstplan“ übertragen. In Tabelle „ErfassteZeit“ in „B9“ hat man folgende Information 10/17/2011 5:57 PM. AM/Vormittags oder PM/Nachmittags Schicht soll den Makro helfen wo er die Uhrzeit eintragen soll in den Dienstplan (Vormittags „E und F Spalte“ oder Nachmittags bzw. Nachtschicht „G und H Spalte“).
D.h. Mappe „2011 Dienstplan“ hat Tabellenname „Scott, William“, Makro soll das Datum finden (in Spalte „A392“). Damit die Anfangszeit ins „G392“ und Endzeit ins „H392“ richtig eingetragen wird soll die Hilfe AM (fürs Vormittag) in "Spalte E und F" und PM (Fürs Nachmittag) in "Spalte G und H" weiterhelfen.
Vielleicht kann mir jemand helfen?!
Für jeder Hilfe bin ich Euch Profis sehr Dankbar.
Daniel

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dienstplan
30.10.2011 05:36:00
Becker
Hallo Franz,
Vielen, vielen Dank für das professionelle Beispiel.
Habe gerade Dein Makro sofort ausprobiert. Auf ersten Anhieb sieht sehr gut aus. Sagenhaft, wie hast Du dass gemeistert dass der Makro die Mitarbeiter Namen von Datenquelle und Ziel Tabelle sowie die Zeile "C4" beachten kann, was ganz wichtig ist für mich. Beim so vielen Mitarbeiter kann schon leicht ein Fehler auftreten daher bewundere ich Dein Wissen und tollen Beispiel. Vor allem ist der Hammer das von Datenquelle nach Ziel Mappe auch gleich das Schicht zwischen AM und PM unterschieden wird. Vielen Dank für Deine Kommentare in den Modul so lassen sich die VBA Befehle leichter verstehen. Mein Problem ist tatsächlich meine mangelnde VBA-Erfahrung.
Ich würde Dir ungerne noch mehr Arbeit antun aber noch eine Frage und zwar kann man irgendwo in Dein Makro (oder in Ziel Tabelle in ein Tabellen Blatt) ein paar Regeln für die Genauigkeit und die Verspätung festlegen?
Als Beispiel wenn der Dienstbeginn für Mustermann um 14:00 Uhr ist, theoretisch kann er sich über Karten System bisschen früher anmelden, z.B. um 13:40 oder 13:45. Daher muss ich extra nachprüfen und ggf. manuell die Uhrzeit auf 14:00 Uhr (weil der um 14:00 Uhr anfangen soll) nachbessern. Wenn sich Mustermann um 10 Minuten verspätet (14:10) dann soll der Zeit unverändert bleiben.
Auf Dienstplan hätte ich Mitarbeiter die um 07:00, um 09:30, und um 11:15 anfangen sollen. Für Nachmitttags Schicht habe ich dann Anfangszeiten um 15:00, um 17:45 und um 19:15.
Daher wäre sensationell wenn man das noch hinbekommen kann.
Franz vielen, vielen Dank nochmals
Gruß
Daniel
Anzeige
AW: Dienstplan
30.10.2011 19:01:05
fcs
Hallo Daniel,
ich hab die Übertragung-Prozedur mal so ergänzt, dass Startzeiten mit einem Zeitfenster von plus-minus 30 Minuten um die Soll-Startzeiten automatisch angepasst/übernommen werden. Startzeiten außerhalb der Zeitfenster müssen in einem Input-Dialog manuell bestätigt/angepasst werden.
Die Zeitfenster für die Startzeiten kannst du natürlich noch individuell anpassen.
Gruß
Franz
Code Übertragungsprozedur: https://www.herber.de/bbs/user/77283.txt
AW: Dienstplan
31.10.2011 16:21:24
Becker
Hallo Franz,
Vielen Dank für Deine starke Hilfe. Echt ein Meister Arbeit.
Habe sofort heute mehrmals Dein Makro ausprobiert funktioniert tadellos.
Dank Diene Hilfe lässt sich Zeit auch Kinderleicht anpassen.
Möchte nicht unverschämt bleiben, es ist mir peinlich noch irgend Wunsch zum schreiben weil Du hast es super hinbekommen hast.
Könnte man die Startzeit von plus 30 Minuten so anpassen das es automatisch ausgebessert wird. Als Beispiel Startzeit sei 07:00 Uhr der Mitarbeiter meldet sich um 06:43 dann soll mich der Makro nicht Fragen sondern solle automatisch die Startzeit auf 07:00 in Ziel Mappe eintragen. Wenn der Mitarbeiter sich verspätet (z.B. der kam um 07:15 an) dann soll der Zeit unverändert bleiben.
Wenn das zu kompliziert ist, wäre es möglich beim den letzten Makro, wo der Fenster kommt wo man die Zeit noch manuell nachbessern kann den Namen von Mitarbeiter zu anzeigen?
Wen es nicht geht trotz allem Du hast mir den Leben um einiges erleichtert das ich damit leben kann.
Vielen Dank Fraz
Ein ganz tolles Forum und super nette Excel-Profis die bereit sind zum helfen.
DANKE
Daniel
Anzeige
AW: Dienstplan
31.10.2011 17:41:35
fcs
Hallo Daniel,
die Frage nach der Anpassung der Startzeiten verstehe ich jetzt nicht.
Bei dem Makro, wie ich es in meiner letzten Antwort hochgeladen hatte, funktioniert es bei mir.
Bei erfassten Startzeiten von 6:30 AM bis 7:00 AM wird die Zeit auf 7,00 gesetzt,
Bei erfassten Startzeiten von 7:01 AM bis 7:30 AM wird die Zeit unverändert als 7,01 bis 7,30 übernommen.
Der Dialog fragt nach bei Zeiten vor 6:30 AM und von 7:31 AM bis 8:59 AM. Ab 9:00 AM wird auf 9,30 gesetzt usw.
Den Namen im Korrektur-Dialog zusätzlich anzuzeigen ist kein Problem.
Die Dialog-Zeile wie folgt anpassen:

                      dblTimeNew = Application.InputBox(Prompt:="Erfasste Anfangszeit" _
& vbLf & "(Stunden und Minuten durch Dezimaltrennzeichen trennen)", _
Title:="Startzeit korrigieren - " & strName & " - " & strStart, _
Default:=Format(dblTimeStart, "0.00"), _
Type:=1)
Der Name wird so zusätzlich in der Titelzeile des Dialogfensers angezeigt.
Gruß
Franz
Anzeige
AW: Dienstplan-Dank sei Franz
01.11.2011 04:34:53
Becker
Hallo Franz,
Du hast recht das war mein Fehler, da habe ich falsch die Zeit verändert in Deinen Makro. Meine Fehler habe ich sofort gefunden und dementsprechend nachgebessert.
Jetzt ist es perfekt dank Deiner Lösung.
Danke
Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige