Hallo,
Ik maak gebruik van de volgende functie/macro voor controle of een BSN-nummer voldoet aan de 11-proef. Enig probleem daarbij is dat het niet werkt voor BSN's die starten met een 0 (nul), omdat Excel deze 0 niet meeneemt. Hoe kan de macro worden aangepast zodat deze ook goed werkt voor een BSN die begint met een nul?
Alvast bedankt.
Mvg,
Ocirne
Ik maak gebruik van de volgende functie/macro voor controle of een BSN-nummer voldoet aan de 11-proef. Enig probleem daarbij is dat het niet werkt voor BSN's die starten met een 0 (nul), omdat Excel deze 0 niet meeneemt. Hoe kan de macro worden aangepast zodat deze ook goed werkt voor een BSN die begint met een nul?
Alvast bedankt.
Mvg,
Ocirne
Code:
Function BSN(bsnnummer As String) As String
Dim intT As Integer, intTotaal As Integer
If Len(bsnnummer) <> 9 Then
BSN = "Fout: het BSN-nummer bestaat uit 9 cijfers!"
Exit Function
Else
For intT = 1 To Len(bsnnummer)
If Not IsNumeric(Mid(bsnnummer, intT, 1)) Then
BSN = "Het BSN bevat géén letters!"
Exit Function
End If
Next
For intT = Len(bsnnummer) To 1 Step -1
If intT = 1 Then
intTotaal = intTotaal + Mid(bsnnummer, 10 - intT, 1) * -intT
Else
intTotaal = intTotaal + Mid(bsnnummer, 10 - intT, 1) * intT
End If
Next
If intTotaal Mod 11 = 0 Then
BSN = "OK!"
Else
BSN = "Fout!"
End If
End If
End Function