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