Possibly you could adapt this...
Sub Last_Business_EOMonth()
    Dim d As Date
    
    d = DateSerial(Year(Date), Month(Date) + 1, 0)
    Select Case Weekday(d, vbSaturday)
        Case 1
            d = d - 1
        Case 2
            d = d - 2
    End Select
    
    MsgBox Format(d, "dddd mmm d, yyyy")
End Sub