You can add or subtract months using DateAdd. Once you've done that, you can
get the end of the month using DateSerial.
It's messy, but the following should work:
Function EOMonth(Start_Date As Date, Months As Integer) As Date
Dim dtmWorking As Date
dtmWorking = DateAdd("m", Months, Start_Date)
EOMonth = DateSerial(Year(dtmWorking), Month(dtmWorking) + 1, 0)
End Function