Вам понадобится список дат праздников, с которыми можно сравнивать. Вам нужно будет построить и сохранить этот список отдельно. Вы не сказали какой вариант VB (VBA? VB.NET?), Но в VB.NET вы могли бы сделать:
Dim datevalue As DateTime = New DateTime(DateTime.Year, DateTime.Month, 1)
Dim dayIsFound As Boolean = False
Dim workDays As Integer
workDays = 1
While Not dayIsFound
If ( dateValue.DayOfWeek <> DayOfWeek.Saturday _
And dateValue.DayOfWeek <> DayOfWeek.Sunday _
And Not HolidayList.Contains( dateValue ) _
workDays = workDays + 1
End If
If index >= 5 Then
dayIsFound = True
Else
dateValue = dateValue.AddDays(1)
End If
End While
Технически, можно построить алгоритм, который определяет основные праздники на основе федеральных правил (в США), но он сложен и может не соответствовать праздникам компании, для которой вы строите этот компонент. *