08. juli 2005 - 00:02Der er
11 kommentarer og 1 løsning
Formel vedr. beregning af overtid
Jeg har behov for at lave en formel der beregner overtid på hverdage mellem 18:00 og 06:00...
Jeg forestiller mig noget med at definere flg:
DAG 1 6 TID 18:00 06:00 SATS 30
Hvis man så taster f.eks. en 14 timers vagt: VAGT 05:00 19:00
skal dette udløse to timers overtid (1 time 05:00-06.00 og 1 time 18:00-19:00) gange 30 kr. = 60 kr.
Jeg får dog specielt problemer når vagten f.eks. er 18:00-02:00; hvis jeg ikke skriver "26:00" i stedet for 02:00 - så kan den ikke finde ud af at vagten er på 8 timer men -16 - og så bliver opgaven rimelig "umulig" for mig...
Public Function Overtid(ByVal Start As Date, Slut As Date, NormalStart As Date, NormalSlut As Date) As Date Overtid = "00:00" If Slut < Start Then Slut = Slut + 1 If Start < NormalStart Then Overtid = (NormalStart - Start) If Slut > NormalSlut Then Overtid = Overtid + (Slut - NormalSlut) End Function
Public Function Overtid(ByVal Start As Date, Slut As Date, NormalStart As Date, NormalSlut As Date, Overtidsbetaling As Double)
Overtid = 0 If NormalSlut < NormalStart Then NormalSlut = NormalSlut + 1 If Slut < Start Then Slut = Slut + 1 If Start < NormalStart Then Overtid = (NormalStart - Start) If Slut > NormalSlut Then Overtid = (Overtid + (Slut - NormalSlut)) Overtid = (Overtid * 24) * Overtidsbetaling End Function
Denne kode sætter du ind i et modul, ikke i arkmodulet, Når du højreklikker på fanen af et ark og vælg vis programkode Kan du i venstre side se dine arknavne.
Oppe i menulinien vælger du Insert > module
Nu kan du se ovre under arkene til venstre står Module1.
Se nu er Module1 makeret med grå baggrund, det er her koden skal være
I den celle du vil have beløbet for overtid, til at stå skriver du: =overtid(A2;B2;"06:00";"18:00";30,00)
A2 = starttid B2 = sluttid "06:00" normaltid start "18:00" normaltid slut 30,00 beløbet per time i overtidsbetaling
Jeg bruger VBA programmering på mit arbejde, jeg har en del med Excel og Access at gøre, da jeg flytter rundt med en del data, mest fra Excel til Access.
For at gøre det nemmere for mig selv, programmerer jeg en del i VBA og da programmering i Basic altid har intresseret mig, synes jeg det er sjovt, hvad man kan få ud af det.
Jeg er ikke konsulent, men jeg hjælper da også andre uden for Eksperten, med specielle opgaver.
kabbak - jeg kan kun bruge din formel på tillægget i hverdagene (har selv udvidet med hvis-sætning der spørger på ugedag) men har også behov for at beregne tillæg i weekenden - se gerne http://www.eksperten.dk/spm/633664 hvis du vil have yderligere 200 points?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.