Thank you for your help.Code:Public Function WorkingDays(StartDate As Date, EndDate As Date) As Integer '-- Return the number of WorkingDays between StartDate and EndDate On Error GoTo err_workingDays Dim intCount As Integer If IsDate(StartDate) And IsDate(EndDate) Then If EndDate >= StartDate Then intCount = 0 Do While StartDate < EndDate StartDate = StartDate + 1 If Weekday(StartDate, vbMonday) <= 5 Then '-- Use the following code if you have a "Holiday" table If Weekday(StartDate, vbMonday) <= 5 And _ IsNull(DLookup("[Holiday]", "Holidays", _ "[HolDate] = " & Format(StartDate, "\#mm\/dd\/yyyy\#;;;\N\u\l\l"))) Then intCount = intCount + 1 End If Loop WorkingDays = intCount Else WorkingDays = -1 '-- To show an error End If Else WorkingDays = -1 '-- To show an error End If exit_workingDays: Exit Function err_workingDays: MsgBox "Error No: " & Err.Number & vbCr & _ "Description: " & Err.Description Resume exit_workingDays End Function