Function CodeKlopt(PersNr As Integer, Dag As String, Code As String) As Boolean
'de tabellen "MensenAfdeling" en "CodeTabel" Zijn als Namen gedefineerd.
'omdat bij voorwaardelijke opmaak niet buiten het betreffende Blad gekeken mag worden.
Dim PersRij As Integer, DagKolom As Integer, CodeRij As Integer
Dim SnipperUren, Dagdeel As Integer, WerkUren
If Code = "" Then CodeKlopt = True: Exit Function
If Dag = "" Then CodeKlopt = False: Exit Function
If PersNr = 0 Then CodeKlopt = False: Exit Function
For PersRij = 1 To Range("MensenAfdeling").Rows.Count
If PersNr = Range("MensenAfdeling")(PersRij, 1) Then Exit For
Next PersRij
If PersRij > Range("MensenAfdeling").Rows.Count Then CodeKlopt = False: Exit Function
For DagKolom = 1 To Range("MensenAfdeling").Columns.Count
If Dag = Range("MensenAfdeling")(1, DagKolom) Then Exit For
Next DagKolom
If DagKolom > Range("MensenAfdeling").Columns.Count Then CodeKlopt = False: Exit Function
For CodeRij = 1 To Range("CodeTabel").Rows.Count
If Code = Range("CodeTabel")(CodeRij, 1) Then Exit For
Next CodeRij
If CodeRij > Range("CodeTabel").Rows.Count Then CodeKlopt = False: Exit Function
SnipperUren = Range("CodeTabel")(CodeRij, 2)
Dagdeel = Range("CodeTabel")(CodeRij, 3)
WerkUren = Range("MensenAfdeling")(PersRij, DagKolom + Dagdeel)
If WerkUren = "Ziek" Then CodeKlopt = False: Exit Function
If SnipperUren > WerkUren Then CodeKlopt = False: Exit Function
CodeKlopt = True
End Function