Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Arbeitstage mit Samstagen

Gruppe

DatumUndZeit

Problem

Bei den Analysefunktionen gibt es die Formel =NETTOARBEITSTAGE(). Hier werden Feiertage, Samstage und Sonntage herausgerechnet. Ich benötige eine Funktion, die das Gleiche macht, allerdings die Samstage includiert.

Lösung
Geben Sie die nachfolgende benutzerdefinierte Funktion in ein Standardmodul ein.

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