HERBERS Excel-Forum - die Beispiele

Thema: Arbeitszeiten einer Personal-Nummer und eines Tages ermitteln

Home

Gruppe

DatumZeit

Problem

Wie kann ich aus einer Monatsarbeitstabelle die Zeiten einer bestimmten Personalnummer an einem bestimmten Tag ermitteln?

Lösung
Nur anhand der Beispielarbeitsmappe darstellbar
StandardModule: basMain

Function ATC(datStart As Date, datEnd As Date, _
   rngHolliday As Object) As Integer
   Dim rng As Range
   Dim iCounter As Integer, iStart As Integer
   Dim iEnd As Integer, iTmp As Integer
   iStart = 8 - WeekDay(datStart)
   iEnd = WeekDay(datEnd) - 1
   iTmp = (datEnd - datStart) - (iStart + iEnd)
   iTmp = iTmp - (iTmp / 7)
   iTmp = iTmp + iStart + iEnd
   If WeekDay(datStart) = 1 Then iTmp = iTmp - 1
   For iCounter = 1 To rngHolliday.Rows.Count
       Set rng = rngHolliday.Cells(iCounter, 1)
       If rng >= datStart And rng <= datEnd Then
           If WeekDay(rng) <> 1 Then iTmp = iTmp - 1
       End If
   Next iCounter
   ATC = iTmp
End Function