BUSDAYMONTHEND

BUSDAYMONTHEND(dtDateValue)
Returns the last business day in a particular month and year.

dtDateValue

REMARKS
* You can use the built-in EOMONTH function to return the date serial number of the last day of a month before or after a date.
* 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 BUSDAYMONTHSTART 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 BUSDAYYEARSTART function to
* You can use the user defined BUSDAYYEAREND 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 BUSDAYMONTHEND( _ 
         ByVal dtDateValue As Date) _
         As Date

Dim dtEndOfCurrentMonth As Date
Dim dtStartOfNextMonth As Date

   dtEndOfCurrentMonth = Application.WorksheetFunction.Eomonth(dtDateValue, 0)
   dtStartOfNextMonth = dtEndOfCurrentMonth + 1

   BUSDAYMONTHEND = Application.WorksheetFunction.WorkDay_Intl(dtStartOfNextMonth, -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