Het is mij nog steeds niet gelukt om de VBA code te vinden die direct de invoer van BSN nummer controleert. Bijgevoegde code werkt alleen indirect via invoer Userform, invoer BSN enz. Mijn vraag kan de code zo worden aangepast, dat bij invoer BSN nummer (bijvoorbeeld in Cel A1) direct gecontroleerd wordt? De Excel formule is mij bekend (en werkt ook), maar omdat er een MsgBox melding moet verschijnen als het ingevoerde nummer fout is, zoek ik dus bedoelde code. Alvast bedankt.
Met vriendelijke groet,
Esko
Met vriendelijke groet,
Esko
Code:
Public Function SofiControle(SofiNummer As Variant) As Boolean
Dim i As Integer, Som As Integer
If Len(SofiNummer) <> 9 Then Exit Function
If IsNull(SofiNummer) Then Exit Function
If VarType(SofiNummer) <> vbString Then SofiNummer = CStr(SofiNummer)
If Val(Left(SofiNummer, 1)) <> 0 Then SofiNummer = "0" + SofiNummer
For i = 1 To 8
Som = Som + Val(Mid(SofiNummer, i, 1)) * (10 - i)
Next i
If Val(Right(SofiNummer, 1)) = (Som Mod 11) Then SofiControle = True
End Function
Private Sub CommandButton1_Click()
If SofiControle(TextBox1.Text) Then
MsgBox "Sofinummer is OK"
'doe hier wat je wilt met de uitkomst van textbox1.text
UserForm1.Hide
Else
MsgBox "sofinummer is niet correct"
End If
End Sub