ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   calculating vacation (https://www.excelbanter.com/excel-programming/394181-calculating-vacation.html)

Clayman

calculating vacation
 
This is killing me. I'm developing a vacation-tracking system, and I need to
calculate vacation based on anniversary date. Everything over 1 year is easy
(Select Case). But less than a year it gets tricky.

If they've been here less than six months, they accrue no vacation.

They start accruing at a rate of 1.54 hours per pay period beginning at 180
days, and can use vacation in advance - so we need to know the amount of
vacation available through the end of the year.
(Day(Now)-Day(HireDate)/7*1.54?)

But if their 6-month-anniversary was before January 1, then they accrue at
the normal rate.

And vacation does not carry over from year to year.

Thanks in advance.
--
Adios,
Clay Harryman

Clayman

calculating vacation
 
OK - I'm still building the code so I can test this, but here's what I've got
so far:

Select Case anniv
Case Is < 2
LAccrualRate = 1.54
' Calculate day of last day of hire year
DtEndOfYear = CDate("12/31/" & CStr(Year(hiredate)))
LCountDays = Day(DtEndOfYear) - Day(hiredate)
' Check to see if 180 days elapsed between hiredate and end of hire year
If LCountDays 180 Then
' if so, was employee hired last year?
If Year(hiredate) < Year(Now) Then
' if so, hours accrued = 80
LHoursRemain = 80
Else
' if not, hours accrued = weeks * 1.54
LWeeksWorked = LCountDays / 7
LHoursRemain = LWeeksWorked * 1.54
End If
Else
' if 180 days not elapsed, hours accrued=0
LHoursRemain = 0
End If
Case 2 To 4
LHoursRemain = 80
LAccrualRate = 1.54
Case 5 To 14
LHoursRemain = 120
LAccrualRate = 2.31
Case Is 14
LHoursRemain = 160
LAccrualRate = 3.08
End Select
--
Adios,
Clay Harryman


"Clayman" wrote:

This is killing me. I'm developing a vacation-tracking system, and I need to
calculate vacation based on anniversary date. Everything over 1 year is easy
(Select Case). But less than a year it gets tricky.

If they've been here less than six months, they accrue no vacation.

They start accruing at a rate of 1.54 hours per pay period beginning at 180
days, and can use vacation in advance - so we need to know the amount of
vacation available through the end of the year.
(Day(Now)-Day(HireDate)/7*1.54?)

But if their 6-month-anniversary was before January 1, then they accrue at
the normal rate.

And vacation does not carry over from year to year.

Thanks in advance.
--
Adios,
Clay Harryman



All times are GMT +1. The time now is 11:14 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com