Date/Time: Calculate Number of Working Days Author(s) Arvin Meyer (Q)    How do I calculate total number of working days between two dates? (A)    Use one of the following functions. ```'*********** Code Start ************** Public Function WorkingDays(StartDate As Date, EndDate As Date) As Integer '.................................................................... ' Name: WorkingDays ' Inputs: StartDate As Date ' EndDate As Date ' Returns: Integer ' Author: Arvin Meyer ' Date: February 19, 1997 ' Comment: Accepts two dates and returns the number of weekdays between them ' Note that this function does not account for holidays. '.................................................................... On Error GoTo Err_WorkingDays Dim intCount As Integer StartDate = StartDate + 1 'If you want to count the day of StartDate as the 1st day 'Comment out the line above intCount = 0 Do While StartDate <= EndDate 'Make the above < and not <= to not count the EndDate Select Case WeekDay(StartDate) Case Is = 1, 7 intCount = intCount Case Is = 2, 3, 4, 5, 6 intCount = intCount + 1 End Select StartDate = StartDate + 1 Loop WorkingDays = intCount Exit_WorkingDays: Exit Function Err_WorkingDays: Select Case Err Case Else MsgBox Err.Description Resume Exit_WorkingDays End Select End Function Public Function WorkingDays2(StartDate As Date, EndDate As Date) As Integer '.................................................................... ' Name: WorkingDays2 ' Inputs: StartDate As Date ' EndDate As Date ' Returns: Integer ' Author: Arvin Meyer ' Date: May 5,2002 ' Comment: Accepts two dates and returns the number of weekdays between them ' Note that this function has been modified to account for holidays. It requires a table ' named tblHolidays with a field named HolidayDate. '.................................................................... On Error GoTo Err_WorkingDays2 Dim intCount As Integer Dim rst As DAO.Recordset Dim DB As DAO.Database Set DB = CurrentDb Set rst = DB.OpenRecordset("SELECT [HolidayDate] FROM tblHolidays", dbOpenSnapshot) 'StartDate = StartDate + 1 'To count StartDate as the 1st day comment out the line above intCount = 0 Do While StartDate <= EndDate rst.FindFirst "[HolidayDate] = #" & StartDate & "#" If Weekday(StartDate) <> vbSunday And Weekday(StartDate) <> vbSaturday Then If rst.NoMatch Then intCount = intCount + 1 End If StartDate = StartDate + 1 Loop WorkingDays2 = intCount Exit_WorkingDays2: Exit Function Err_WorkingDays2: Select Case Err Case Else MsgBox Err.Description Resume Exit_WorkingDays2 End Select End Function '*********** Code End **************```
```