Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dienstplan, bitte um Hilfestellung

Dienstplan, bitte um Hilfestellung
24.03.2008 15:50:29
Matthias
Hallo Excelfreunde
Ich beise mir seit geraumer Zeit die Zähne damit aus.
Ich bastel an einem Dienstplan und möchte die Diensteinteilungen in etwa gerecht verteilen.
Das heißt es werden zuerst die Wochenenden und Feiertage gesetzt.
Das geschieht der Reihe nach. Es gibt 8 Mitarbeiter ("R5:Y5")
Wer mit dem 01.01. beginnt ist frei wählbar.
der Rest wird der Reihe nach aufgefüllt.
Die Bereiche der Spalten "Früh1, Früh2, Früh3, Spät, Nacht und WE/FT" sind je mit einem Namen definiert
Userbild
Nun möchte ich im Anschluß daran die Dienste der Wochentage setzen.
Ich scheitere aber daran es gerecht und richtig zu verteilen.
Nun habe ich ersteinmal über eine Schleife Person1 bis Person8 eingetragen und
starte dann später diese Makro
Userbild
jetzt werden die Namen Person1,2,3,4,5,6,7 und 8 mit den Realnamen ersetzt.
Besser wäre es die Namen gleich einzupflegen, aber daran scheitere ich noch mit
meinen Amateurkenntnissen, leider.
Es ist in etwa so wie im nächsten Bild gedacht. (in der oberen Hälfte 05.01-16.01)
Es ist in etwa so gedacht: in der ersten Woche Lisa, Laura, Paul je 5 Tage Frühdienst.
Nils = Spätschicht, Sven = Nachtschicht

Userbild
Wichtig dabei ist, das eine Person, welche am WE/FT von 6 bis 6 arbeitet nicht am nächsten Tag schon wieder Schicht haben darf.
Sie darf also erst zwei Tage später wieder zum Dienst eingeteilt werden.
über die bed. Format. wird ein solcher Fehler rot dargestellt.
Über Alternativoschläge bin ich ebenso dankbar wie über einen Codevorschlag der mein Vorhaben zum Erfolg führt.
Bin leider nur HobbyTipper ;o) - aber ich arbeite dran besser zu werden.
Hier die Datei:
https://www.herber.de/bbs/user/50974.xls
Vielen Dank schon mal im Voraus ...
(bitte macht Euch keine Gedanken über Folgejahre und Feiertagsformeln,
die sind im Orginalsheet schon alle flexibel hinterlegt.
Nur ist das Sheet zu groß zum hochladen. Die Zelladressen sind aber identisch))
Gruß Matthias L

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
bin ein kleines Stück weitergekommen ;o)
25.03.2008 09:07:00
Matthias
Hallo
für die Frühdienste bin ich ein Stück weitergekommen.


Option Explicit
Sub TestFrüh1()
Dim C As Variant, X As Byte, Y As Byte
ActiveSheet.Unprotect
X = 18
Application.ScreenUpdating = False
For Each C In Range("Früh1") '("D6:D370")
If C.Row > 7 Then
If Cells(C.Row, 10).Value = "" Then
C.Value = Cells(5, X)
Y = Y + 1
If Y = 5 Then
X = X + 1: Y = 0
End If
If X > 25 Then X = 18
End If
End If
Next
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub
Sub TestFrüh2()
Dim C As Variant, X As Byte, Y As Byte
ActiveSheet.Unprotect
X = 19
Application.ScreenUpdating = False
For Each C In Range("Früh2") '("E6:E370")
If C.Row > 7 Then
If Cells(C.Row, 10).Value = "" Then
C.Value = Cells(5, X)
Y = Y + 1
If Y = 5 Then
X = X + 1: Y = 0
End If
If X > 25 Then X = 18
End If
End If
Next
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub
Sub TestFrüh3()
Dim C As Variant, X As Byte, Y As Byte
ActiveSheet.Unprotect
X = 20
Application.ScreenUpdating = False
For Each C In Range("Früh3") '("F6:F370")
If C.Row > 7 Then
If Cells(C.Row, 10).Value = "" Then
C.Value = Cells(5, X)
Y = Y + 1
If Y = 5 Then
X = X + 1: Y = 0
End If
If X > 25 Then X = 18
End If
End If
Next
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub



Evtl. ist es besser erst die Schichten Früh, Spät und Nacht zu setzen
und am Ende erst die Wochenenden und Feiertage.
Wie dem auch sei, über Eure Idee'n und Verbesserungsvorschlöge würde ich mich freuen.
Gruß Matthias

Anzeige
noch offen __ oT
25.03.2008 10:48:00
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige