Private Function ak(s) Dim i, a, b, c, d, e i = chksum(s) If Mid$(s, 11, 1) = i Then ak = True Else ak = False End If End Function Private Function chksum(ak) Dim c, c1 c = Val(Mid$(ak, 1, 1)) + Val(Mid$(ak, 2, 1)) * 2 + Val(Mid$(ak, 3, 1)) * 3 + Val(Mid$(ak, 4, 1)) * 4 + Val(Mid$(ak, 5, 1)) * 5 + Val(Mid$(ak, 6, 1)) * 6 + Val(Mid$(ak, 7, 1)) * 7 + Val(Mid$(ak, 8, 1)) * 8 + Val(Mid$(ak, 9, 1)) * 9 + Val(Mid$(ak, 10, 1)) c = c Mod 11 c1 = Val(Mid$(ak, 1, 1)) * 3 + Val(Mid$(ak, 2, 1)) * 4 + Val(Mid$(ak, 3, 1)) * 5 + Val(Mid$(ak, 4, 1)) * 6 + Val(Mid$(ak, 5, 1)) * 7 + Val(Mid$(ak, 6, 1)) * 8 + Val(Mid$(ak, 7, 1)) * 9 + Val(Mid$(ak, 8, 1)) * 1 + Val(Mid$(ak, 9, 1)) * 2 + Val(Mid$(ak, 10, 1)) * 3 c1 = c1 Mod 11 If c <> 10 Then chksum = c ElseIf c1 <> 10 Then chksum = c1 Else chksum = 0 End If End Function