It still wasnt right, 6 days was showing as 1 week 2 days.
I think ive got it now and have amended the function to only return the item you want (either 1-Months, 2-Weeks,3-days)
so use it as =CalcMonths(E13,1) in the Months column, (E13,2) in the weeks and (E13,3) in days.
![]()
Function CalcMonths(inDays, outitem) Dim outvals(4) outvals(1) = 0 outvals(2) = 0 outvals(3) = 0 Do Until inDays = 0 outvals(3) = outvals(3) + 1 Select Case outvals(3) Case Is = 3 outvals(2) = outvals(2) + 1 outvals(3) = -2 Case Is > 5 outvals(3) = 0 End Select Select Case outvals(2) Case Is = 3 outvals(1) = outvals(1) + 1 outvals(2) = 0 outvals(3) = -11 End Select inDays = inDays - 1 Loop If (outvals(3) < 0) Then outvals(3) = 0 End If CalcMonths = outvals(outitem) End Function
Bookmarks