با سلام
با این تابع میتونین برسی کنین که کد ملی وارد شده صحت داره یا نه .
درواقع کد ملی یه سری روابط بین اعدادش هست که اگر اون روابط صحیح نباشه کدملی صحت نداره
Sub CheckMelliCode(MelliCode As String)As Boolean Dim b As Boolean Dim sCodePosition(10) As String Dim iCodePosition(10) As String Dim resultStep1,resultStep2,resultStep3 As Int If MelliCode.Length = 10 Then For i = 0 To 9 sCodePosition(i) = MelliCode.CharAt(i) iCodePosition(i) = sCodePosition(i) Next resultStep1 = (iCodePosition(0)*10)+(iCodePosition(1)*9)+(iCodePosition(2)*8)+(iCodePosition(3)*7)+(iCodePosition(4)*6)+(iCodePosition(5)*5)+(iCodePosition(6)*4)+(iCodePosition(7)*3)+(iCodePosition(8)*2) resultStep2 = (resultStep1 mod 11) resultStep3 = 11 - resultStep2 If resultStep2 < 2 Then If resultStep2 = iCodePosition(9) Then b = True Return b Else b = False Return b End If Else If resultStep3 = iCodePosition(9) Then b = True Return b Else b = False Return b End If End If Else b = False Return b End If End Sub