Code:
Function kontrolni_broj(str As String) As Variant
l = Len(str)
If l <> 11 Then
'MsgBox "Dužina stringa (" & l & ") nije 11 karaktera!"
kontrolni_broj = CVErr(xlErrValue)
Exit Function
End If
tmp = 0
For i = 1 To l
char = Mid(str, i, 1)
If char < "0" Or char > "9" Then
'MsgBox "Na poziciji (" & i & ") se nalazi nenumerički znak (" & char & ")!"
kontrolni_broj = CVErr(xlErrValue)
Exit Function
End If
char = Val(char)
If (i Mod 2) = 0 Then
tmp = tmp + char
Else
times2 = char * 2
If times2 < 10 Then
tmp = tmp + times2
Else
tmp = tmp + (times2 Mod 10) + Int(times2 / 10)
End If
End If
Next i
Debug.Print tmp
kontrolni_broj = (10 - (tmp Mod 10)) Mod 10
End Function
formula u ćeliji F1
=kontrolni_broj(A1&B1&C1&D1)