XLA routines: EE_LastBusinessDayOfMonth

Nick's picture
EE_LastBusinessDayOfMonth takes a date, a holiday calendar and returns the last business day of the month that the date is in.
Function EE_LastBusinessDayOfMonth(dt As Date, rngHolidays As range) As Date
'- as above but rolls to the previous business day if the last bus day is a hol
'- also takes a range with the holiday calendar
'http://excelexperts.com/xla-routines-eeLastBusinessDayOfMonth    for updates on this function

    If EE_IsBusinessDay(rngHolidays, EE_LastDayOfMonth(dt)) Then
        EE_LastBusinessDayOfMonth = EE_LastDayOfMonth(dt)
    Else
        EE_LastBusinessDayOfMonth = EE_PrevBusinessDay(rngHolidays, EE_LastDayOfMonth(dt))
    End If
End Function