• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Dienstjaren berekenen

Status
Niet open voor verdere reacties.
Als jij met een voorbeelbestandje komt waarin duidelijk staat wat je hebt en waarheen je wilt zijn er hier inderdaad wel meerderen die handig zijn in het schrijven van macro's :p:p
 
Op mijn desktop heb ik heb ik 2007 en daar gaat het mis .
Op mijn laptop heb ik 2010 en daar gaat het wel goed.

Op beide versies staat de functie 'datedif' niet in het lijstje achter de fx
 
Rudi,

Code:
=DATUMVERSCHIL(B1;C1;"y")&" jaar "&DATUMVERSCHIL(B1;C1;"ym")&" maand(en) "&DATUMVERSCHIL(B1;C1;"md")&" dag(en)"
Als je deze in Excel 2007 plaatst krijg je dit als resultaat "2 jaar 0 maand(en) 136 dag(en)"
Zet je hem in Excel 2010 krijg je "2 jaar 0 maand(en) en 23 dag(en)" als resultaat

In Excel 2007 zit de ATP al als invoegtoepassing, maar zonder DATEDIF, maar of dit de oorzaak is weet ik ook niet.

Dan kwam de vraag of het niet met een macro kan, zodat in 2007 ook het goede resultaat te voorschijn komt.
 
Laatst bewerkt:
ik ben benieuwd of deze in 2007 wel werkt
Code:
Function DienstTijd(Begin As Date, Eind As Date, Optional Wat As String = "")
    Dim Be As Date, Dagen As Integer, Maanden As Integer, Jaren As Integer, JarenAftrek As Integer
    Be = DateSerial(Year(Eind), Month(Eind), Day(Begin))
    If Be > Eind Then Be = DateSerial(Year(Eind), Month(Eind) - 1, Day(Begin))
    Dagen = Eind - Be
    Maanden = Month(Be) - Month(Begin)
    If Maanden < 0 Then Maanden = Maanden + 12: JarenAftrek = 1
    Jaren = Year(Be) - Year(Begin) - JarenAftrek
    If LCase(Left(Wat, 1)) = "y" Or LCase(Left(Wat, 1)) = "j" Then DienstTijd = Jaren: Exit Function
    If LCase(Left(Wat, 1)) = "m" Then DienstTijd = Maanden: Exit Function
    If LCase(Left(Wat, 1)) = "d" Then DienstTijd = Dagen: Exit Function
    DienstTijd = Jaren & " jaar " & Maanden & " maand(en) " & Dagen & " dagen"
End Function
Bekijk bijlage dienstjaren (2).xls
groet sylvester
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan