Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Ermittlung der jeweiligen Arbeitsschicht

Gruppe

DatumUndZeit

Problem

Wie kann ich Schichten nach verschiedenen Kriterien ermitteln?

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

3. Woche: Mo+Di, Fr+Sa = Frühschicht 
Geben Sie die nachfolgende benutzerdefinierte Funktion in ein Standardmodul ein.

StandardModule: basMain

Function Schicht(datStart As Date, datAct As Date) As String
   Dim datWeek As Date
   datWeek = (datAct - datStart) Mod 21
   Select Case datWeek
      Case Is < 7
         If WeekDay(datAct) < 6 And WeekDay(datAct) > 1 Then
            Schicht = "Frühschicht"
         End If
      Case Is < 14
         If WeekDay(datAct) > 3 And WeekDay(datAct) < 7 Then
            Schicht = "Spätschicht"
         End If
      Case Else
         If WeekDay(datAct) = 2 Or WeekDay(datAct) = 3 Then
            Schicht = "Spätschicht"
         ElseIf WeekDay(datAct) = 6 Or WeekDay(datAct) = 7 Then
            Schicht = "Frühschicht"
         End If
   End Select
End Function