25. november 2001 - 17:29Der er
11 kommentarer og 2 løsninger
VBA Kalde/afvikle in procedure og vende tilbage til regneark
Til brug for udfyldning af et lønbilag skal der beregnes ATP. Jeg har følgende spørgsmål: 1) er det formålstjenligt at gemme denne særskilte beregning i et modul for sig? 2) hvilken kode skal der til for at få kørt/afviklet proceduren og vende tilbage til lønbilaget og fortsætte arbejdet med dette?
ATP er en forholdsvis simpel beregning, så jeg mener ikke det er nødvendigt at lave et særskilt modul/userform. Det vil man kun gøre, hvis man inden i en model skal bruge en række nye input/beregninger.
Om det hedder en procedure eller en funktion aner jeg ikke, men en ATP-beregning er vel ikke så enkel endda. Der er jo forskellige satser afhængig af, om man er aflønnet pr. måned, pr. 14-dage, pr. uge eller er på timeløn. ATP-beregningen skal kunne foretages for alle udbetalingskategorier. Det var derfor, jeg forestillede mig at lægge ATP-beregningen ind i et særskilt modul, der så kunne afvikles under hensyntagen til timetallet, når der var tale om månedsløn, 14-dagesløn mv.
>Janvogt Det er muligt, at det kan gøres, som du foreslår, men jeg har en vis evne til at gøre selv enkle ting komplicede... Jeg har et lønbogholderi, hvori jeg har indtastet nogle stamoplysninger, for de respektive medarbejdere. Når jeg skal udarbejde en lønseddel, henter jeg disse stamoplysninger ind i lønsedlen for den pågældende periode. Én medarbejder er på månedløn, én på ugeløn mv. Der er indtastet et standard-timetal ved oprettelsen, men dette kan afvige - af en eller anden grund - hvorfor ATP-satsen ligervis ændres. Så der skal - såvidt jeg kan se - følgende input til: 1) er medarbejderen aflønnet pr måned, pr. 14-dage osv 2)faktisk præsteret timetal Og så tænkte jeg, at når jeg når til ATP-beregningen skal der være noget i retning af: \"hvis x er månedsløn og timetal > xx så yy ellers hvis x er 14-dagesløn og timetal > xx så .. osv. Efter denne beregning, hvor ATP-satsen returneres til den lønseddel, som jeg netop er i færd med at udarbejde, skal jeg vende tilbage til regnearket, hvor lønsedlen befinder sig, og kunne fortsætte med at indtaste data i denne. Forstår du/I problemet?
Jeg forstår dig udmærket, men mener stadig ikke der er nogen grund til at gøre \"enkle ting komplicerede\", som du selv skriver det :-)
Om medarbejderen er månedslønnet, 14-dages lønnet etc. skulle jo gerne fremgå af stamkortet for medarbejderen. Så mener jeg jeg det vil være voldsomt at oprette en userform alene med det formål at få registreret det faktiske timetal. Det kunne du lige så godt registrere et sted i selve arket.
Jeg medvirker gerne ved udviklingen af et lønregistreringsark. I min tid som revisor lavede jeg en del sådanne løn-regneark.
Mener du, at jeg, hvis lønmodtager er månedslønnet skal oprette et forløb for ATP under netop denne medarbejder, der tager højde for antal timer i den pågældende måned? Hvis lønmodtageren er ugelønnet skal oprette et forløb for ATP under denne medarbejder, der tager højde for antal timer i den pågældende uge mv.? Ja, det kan man vel godt, men jeg var ude efter noget mere \"raffineret\", eller \"enkelt\", fx hvis medarbejder1 er månedslønnet og timetallet er xx så sats yy ellers hvis medarbejder1 er timelønnet og timetallet er xx så yy osv. Men tilbage til det egentlige: Hvordan kalder jeg en procedure eller funktion - får denne udført - og vender tilbage dertil, hvor jeg var i mit udgangspunkt - forløb??
>janvogt jeg vil meget gerne sende mit lønbogholderi i kladde til dig, men så må jeg anstændigvis forhøje pointene til mindst 60, idet du vil få brug for dine detektiviske evner for at hjælpe mig. Vil du det?
Det er ok at lave en procedure som janvogt foreslår, men den skal kaldes for at lave beregningen. Hvis den er lavet som en Function sker beregningen automatisk. Koden er stort set den samme.
Jeg prøvede at aktivere en makro med call, hvilket lykkedes, så jeg roder videre i aften med mit problem. Foreløbig tak.
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.