لك أـستاذى فضل السبق فى هذه الوظيفة
لكن أعتقد أنها تكون هكذا
Public Function WorkDayCalc(StartDate, EndDate) As Integer
Dim WTotalDays As Integer
Dim WSaturdays As Integer
Dim WFridays As Integer
WorkDayCalc = 0
If IsDate(StartDate) And IsDate(EndDate) Then
If EndDate <= StartDate Then
WorkDayCalc = 0
Else
' عدد الأيام بين التاريخين
WTotalDays = DateDiff("d", StartDate, EndDate) + 1
' عدد الأسابيع بداية من السبت
WSaturdays = DateDiff("ww", StartDate, EndDate, 7)
' عدد الأسابيع بداية من الجمعة
WFridays = DateDiff("ww", StartDate, EndDate, 6)
WorkDayCalc = WTotalDays - WSaturdays - WFridays
End If
Debug.Print WFridays & " - " & WSaturdays & " - " & WTotalDays & " - " & WorkDayCalc
End If