![]() |
FlowFact - Entwicklungstools |
![]() |
Function | MoveDate(ByVal varDate As Variant, ByVal datStartDate As Date, ByVal datRefDate As Date, Optional blnWochenende As Boolean = True, Optional blnFeiertag As Boolean = True) As Variant |
varDate: Der zu verscheibene Datumswert datStartDate: Startdatum datRefDate: Referenzdatum blnWochenende: True: Datumswert überspringt Wochenende bzw. Wochenenden werden nicht mitgezählt blnFeiertag: True: Datumswert überspringt Feiertag; bzw. Feiertage werden nicht mitgezählt Rückgabe: neu berechneter Datumswert Public Function MoveDate(ByVal varDate As Variant, ByVal datStartDate As Date, ByVal datRefDate As Date, Optional blnWochenende As Boolean = True, Optional blnFeiertag As Boolean = True) As Variant Dim d As Long Dim n As Date If VarType(varDate) <> vbDate Then MoveDate = varDate Exit Function End If d = Int(varDate) - Int(datRefDate) If varDate = Int(varDate) Then '-- ohne Uhrzeit n = Int(datStartDate) Else n = datStartDate End If While IsArbeitstag(n, blnFeiertag, blnWochenende, blnWochenende) = False n = n + 1 Wend While d > 0 n = n + 1 If IsArbeitstag(n, blnFeiertag, blnWochenende, blnWochenende) Then d = d - 1 End If Wend MoveDate = n End Function |