VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Arbeitszeiten einer Personal-Nummer und eines Tages ermitteln

Gruppe

DatumZeit

Bereich

Arbeitszeit

Thema

Arbeitszeiten einer Personal-Nummer und eines Tages ermitteln

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

    


Beiträge aus dem Excel-Forum zu den Themen DatumZeit und Arbeitszeit