Als ik een stukje vba code test door het stap voor stap te doorlopen dan gebeurt het onderstaande
Telkens ik een waarde via vba toevoeg aan een werkblad waar de onderstaande functie totaal niet opstaat,
of een andere cel kopieer van het werkblad waar de onderstaande functie opstaat, word onderstaande functie steeds uitegevoerd woaarom.
Heeft dit te maken met het automatisch herberekenen
De gebruikte formule op het werkblad ziet er zo uit.
=ALS($H$2=JAAR(NU());Z7-Vermindering_kredietdagen(Z3;W17;W28);"")
Z3 = werkregime, ziektedagen, ontbetaalde_dagen.
Telkens ik een waarde via vba toevoeg aan een werkblad waar de onderstaande functie totaal niet opstaat,
of een andere cel kopieer van het werkblad waar de onderstaande functie opstaat, word onderstaande functie steeds uitegevoerd woaarom.
Heeft dit te maken met het automatisch herberekenen
De gebruikte formule op het werkblad ziet er zo uit.
=ALS($H$2=JAAR(NU());Z7-Vermindering_kredietdagen(Z3;W17;W28);"")
Z3 = werkregime, ziektedagen, ontbetaalde_dagen.
Code:
Function Vermindering_kredietdagen(Werkregime As String, ziektedagen As Integer, onbetaalde_dagen As Integer)
'Werkregime = voltijds ,4/5,haltijds' de functie fix rond af naar het heheel getal 99,2 of 99,8 wordt 99
'Verminderingen door Ziektedagen
'----------------------------------------------------------------------
'Bij Voltijd word er 1 kredietdag afgetrokken na 28 kalenderdagen ziekete
'Bij 4/5 word er 1 kredietdag afgetrokken na 33,5 kalenderdagen ziekete
'Bij halftijds word er 1 kredietdaag afgetrokken na 56 kalenderdagen ziekete
If Werkregime = "Voltijds" And ziektedagen >= 1 Then
Vermindering_Ziekte = Fix(ziektedagen / 28)
ElseIf Werkregime = "4/5" And ziektedagen > 1 Then
Vermindering_Ziekte = Fix(ziektedagen / 33.5)
ElseIf Werkregime = "Halftijds" And ziektedagen > 1 Then
Vermindering_Ziekte = Fix(ziektedagen / 56)
End If
'Vermindering door ontbetaaldedagen
'---------------------------------------------------------------------
'Bij Voltijd word er 1/2 kredietdag afgetrokken na 14 kalenderdagen onbetaald
'Bij 4/5 word er 1,/2 kredietdag afgetrokken na 17 kalenderdagen onbetaald
'Bij halftijds word er 1/2 kredietdaag afgetrokken na 28 kalenderdagen onbetaald
If Werkregime = "Voltijds" And onbetaalde_dagen >= 1 Then
Vermindering_onbetaalde_dagen = Fix(onbetaalde_dagen / 14) / 2
ElseIf Werkregime = "4/5" And onbetaalde_dagen >= 1 Then
Vermindering_onbetaalde_dagen = Fix(onbetaalde_dagen / 17) / 2
ElseIf Werkregime = "Halftijds" And onbetaalde_dagen >= 1 Then
Vermindering_onbetaalde_dagen = Fix(onbetaalde_dagen / 28)
Else
Vermindering_onbetaalde_dagen = onbetaalde_dagen
End If
Vermindering_kredietdagen = Vermindering_Ziekte + Vermindering_onbetaalde_dagen
'Vermindering_kredietdagen = ziektedagen
End Function
Laatst bewerkt: