BUSDAYYEAREND

BUSDAYYEAREND(dtDateValue)
Returns the last business day in a particular year.

dtDateValue

REMARKS
* You can use the built-in DATE function to return the date as a date serial number given a year, month, day.
* You can use the built-in WORKDAY.INTL function to return the date serial number that is a given number of working days before or after a date.
* You can use the user defined BUSDAYYEARSTART function to
* You can use the user defined BUSDAYNEXT function to
* You can use the user defined BUSDAYPREVIOUS function to
* You can use the user defined BUSDAYMONTHSTART function to
* You can use the user defined BUSDAYMONTHEND function to
* You can use the user defined BUSDAYNTH function to
* You can use the user defined BUSDAYSADD function to
* You can use the user defined BUSDAYDIFF function to

Public Function BUSDAYYEAREND( _ 
         ByVal dtDateValue As Date) _
         As Date

Dim dtLastDayOfYear As Date
Dim dtFirstDayNextYear As Date

   dtLastDayOfYear = Application.WorksheetFunction.Date(dtDateValue, 12, 31)
   dtFirstDayNextYear = dtLastDayOfYear + 1

   BUSDAYYEAREND = Application.WorksheetFunction.WorkDay_Intl(dtFirstDayNextYear, -1)
End Function

For instructions on how to add this function to a workbook refer to the page under Inserting Functions


© 2026 Better Solutions Limited. All Rights Reserved. © 2026 Better Solutions Limited TopPrevNext