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

Ruhezeiten kontrollieren im Dienstplan

Ruhezeiten kontrollieren im Dienstplan
12.12.2018 23:11:15
STeve
Hallo liebe Helfer……ich mal wieder - bitte um eure Unterstützung.
https://www.herber.de/bbs/user/126060.xls
Bei diesem Monatsdienstplan (Nov18) würde ich gerne nach Fertigstellung - bei jedem Mitarbeiter – über Knopfdruck- die 48 h Wochenendruhezeit über VBA kontrollieren lassen.
Wenn ein MA in der Wochenendzeit von
Fr 20.00 bis So 06.00 Uhr
in der Startzeitzeile = Beginn und Endzeitzeile = Ende – arbeiten muss - so muss er d a v o r in der g l e i c h e n Kalenderwoche (also vom vorigen Sonntag 24:00) mindestens einen durchgehenden Freizeitblock von mindestens 48 h haben.
z.b.
Mitarbeiter 1
Wochenenddienst v. Fr 9.11, 07:00 bis Sa 10.11, 07:00 (also auch nach 20 Uhr am Fr)
48 h Freizeitblock = Mi 7.11, 07:00 bis Fr.9.11.07:00 Uhr = vorhanden exakt (mindestens 48h)
Mitarbeiter 2
Wochenenddienst v. Fr 23.11, 07:00 bis Sa 24.11, 07:00 (also auch nach 20 Uhr am Fr)
48 h Freizeitblock = Mi 21.11, 19:00 bis Fr.9.11.07:00 Uhr = nicht vorhanden (nur 36 h)
Mitarbeiter 3
Wochenenddienst v. Sa 24.11, 07:00 bis 19:00 (also auch nach 20 Uhr am Fr)
48 h Freizeitblock = So 18.11, 24:00 bis Do 22.11.07:00 Uhr = vorhanden (79 h)
Falls bei einem Mitarbeiter die Zeit nicht eingehalten wurde - wäre super eine - Msgbox (Mitarbeitername, Anzahl der fehlenden Stunden, die Kalendertage wo er am WE arbeitet) und Codeabruch.
Zusatz:
Beim ersten Wochenende sind ja nur der Do und Fr am Dienstplan wo eine Kontrolle natürlich nicht stattfinden kann
Ich hoffe das habe ich nicht zu kompliziert verfasst und hoffe auf eure Hilfe.
glg STeve

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

Betreff
Datum
Anwender
Anzeige
AW: Version 1
13.12.2018 09:53:31
Fennek
Hallo,
wie das so ist in einem Forum, in dem Fragesteller Unterhaltungswert liefern: Im ersten Test lief der Code, das Austesten überlasse ich dir:

Sub F_en()
Dim rng As Range
Dim C As Range
Dim Ez As Date 'Endzeit
Dim Sz As Date 'Startzeit
Dim LC As Range
Set LC = ActiveSheet.UsedRange.SpecialCells(11)
With Columns(4)
Set rng = .Find("Endzeit", , xlValues, xlWhole)
Anf = rng.Address
Do
For j = rng.Column To LC.Column
Set C = Cells(rng.Row, j)
If IsNumeric(C) And C > 0 Then
jj = 1
Ez = j + C
Do
If IsNumeric(C.Offset(-2, jj)) And C.Offset(-2, jj) > 0 Then
Sz = j + jj + C.Offset(-2, jj)
If Sz - Ez = 2 Then Debug.Print C.Address: Stop
Next j
Set rng = .FindNext(rng)
Sz = 0
Loop Until Anf = rng.Address
End With
End Sub
mfg
Anzeige
Danke vorerst
13.12.2018 10:15:30
STeve
Hallo Fennek....wouw und ..danke schon mal vorab für deine schnelle Antwort/Code und deine Bemühungen.
Werde mir das mal in Ruhe - Step für Step - anschauen und versuche mich einzulesen.:-)
Hoffe darf mich nochmal melden wenns mich schleudert.
Danke und noch schönen Tag

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige