Guest Alex Sandro Rodrigues Lopes Postado Outubro 13, 2007 Denunciar Share Postado Outubro 13, 2007 (editado) Public Function ChekCPF(CPF As String) On Error Resume Next 'Retira a Formatação xCPF = "" nVezes = Len(CPF) For nPos = 1 To nVezes xTexto = Mid(CPF, nPos, 1) If Asc(xTexto) >= Asc("0") And Asc(xTexto) <= Asc("9") Then xCPF = xCPF + xTexto End If Next ' Calculo para o primeiro digito 'Extrair os numeros de 1 a 12 e multiplica-los por 10,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xCPF, 1, 1)) * (10) nX2 = Val(Mid(xCPF, 2, 1)) * (9) nX3 = Val(Mid(xCPF, 3, 1)) * (8) nX4 = Val(Mid(xCPF, 4, 1)) * (7) nX5 = Val(Mid(xCPF, 5, 1)) * (6) nX6 = Val(Mid(xCPF, 6, 1)) * (5) nX7 = Val(Mid(xCPF, 7, 1)) * (4) nX8 = Val(Mid(xCPF, 8, 1)) * (3) nX9 = Val(Mid(xCPF, 9, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xCPF, 10, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 ' Calculo para o segundo digito If xDigito = yDigito Then 'Extrair os numeros de 1 a 11 e multiplica-los por 11,10,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xCPF, 1, 1)) * (11) nX2 = Val(Mid(xCPF, 2, 1)) * (10) nX3 = Val(Mid(xCPF, 3, 1)) * (9) nX4 = Val(Mid(xCPF, 4, 1)) * (8) nX5 = Val(Mid(xCPF, 5, 1)) * (7) nX6 = Val(Mid(xCPF, 6, 1)) * (6) nX7 = Val(Mid(xCPF, 7, 1)) * (5) nX8 = Val(Mid(xCPF, 8, 1)) * (4) nX9 = Val(Mid(xCPF, 9, 1)) * (3) nX10 = Val(Mid(xCPF, 10, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xCPF, 11, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If 'Retorno da funcao If xDigito = yDigito Then ChekCPF = True Else ChekCPF = False End If End Function Public Function ChekCNPJ(CNPJ As String) On Error Resume Next 'Retira a Formatação xCNPJ = "" nVezes = Len(CNPJ) For nPos = 1 To nVezes xTexto = Mid(CNPJ, nPos, 1) If Asc(xTexto) >= Asc("0") And Asc(xTexto) <= Asc("9") Then xCNPJ = xCNPJ + xTexto End If Next ' Calculo para o primeiro digito 'Extrair os numeros de 1 a 12 e multiplica-los por 5,4,3,2,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xCNPJ, 1, 1)) * (5) nX2 = Val(Mid(xCNPJ, 2, 1)) * (4) nX3 = Val(Mid(xCNPJ, 3, 1)) * (3) nX4 = Val(Mid(xCNPJ, 4, 1)) * (2) nX5 = Val(Mid(xCNPJ, 5, 1)) * (9) nX6 = Val(Mid(xCNPJ, 6, 1)) * (8) nX7 = Val(Mid(xCNPJ, 7, 1)) * (7) nX8 = Val(Mid(xCNPJ, 8, 1)) * (6) nX9 = Val(Mid(xCNPJ, 9, 1)) * (5) nX10 = Val(Mid(xCNPJ, 10, 1)) * (4) nX11 = Val(Mid(xCNPJ, 11, 1)) * (3) nX12 = Val(Mid(xCNPJ, 12, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11) + (nX12)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xCNPJ, 13, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 ' Calculo para o segundo digito If xDigito = yDigito Then 'Extrair os numeros de 1 a 11 e multiplica-los por 6,5,4,3,2,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xCNPJ, 1, 1)) * (6) nX2 = Val(Mid(xCNPJ, 2, 1)) * (5) nX3 = Val(Mid(xCNPJ, 3, 1)) * (4) nX4 = Val(Mid(xCNPJ, 4, 1)) * (3) nX5 = Val(Mid(xCNPJ, 5, 1)) * (2) nX6 = Val(Mid(xCNPJ, 6, 1)) * (9) nX7 = Val(Mid(xCNPJ, 7, 1)) * (8) nX8 = Val(Mid(xCNPJ, 8, 1)) * (7) nX9 = Val(Mid(xCNPJ, 9, 1)) * (6) nX10 = Val(Mid(xCNPJ, 10, 1)) * (5) nX11 = Val(Mid(xCNPJ, 11, 1)) * (4) nX12 = Val(Mid(xCNPJ, 12, 1)) * (3) nX13 = Val(Mid(xCNPJ, 13, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11) + (nX12) + (nX13)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xCNPJ, 14, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If 'Retorno da funcao If xDigito = yDigito Then ChekCNPJ = True Else ChekCNPJ = False End If End Function Public Function ChekIE(IE As String, UF As String) On Error Resume Next 'Retira a Formatação xIE = "" nVezes = Len(IE) For nPos = 1 To nVezes xTexto = Mid(IE, nPos, 1) If Asc(xTexto) >= Asc("0") And Asc(xTexto) <= Asc("9") Then xIE = xIE + xTexto End If Next If UF = "AC" Then 'ACRE ' Calculo para o primeiro digito 'Extrair os numeros de 1 a 11 e multiplica-los por 4,3,2,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (4) nX2 = Val(Mid(xIE, 2, 1)) * (3) nX3 = Val(Mid(xIE, 3, 1)) * (2) nX4 = Val(Mid(xIE, 4, 1)) * (9) nX5 = Val(Mid(xIE, 5, 1)) * (8) nX6 = Val(Mid(xIE, 6, 1)) * (7) nX7 = Val(Mid(xIE, 7, 1)) * (6) nX8 = Val(Mid(xIE, 8, 1)) * (5) nX9 = Val(Mid(xIE, 9, 1)) * (4) nX10 = Val(Mid(xIE, 10, 1)) * (3) nX11 = Val(Mid(xIE, 11, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 12, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 ' Calculo para o segundo digito If xDigito = yDigito Then 'Extrair os numeros de 1 a 11 e multiplica-los por 5,4,3,2,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (5) nX2 = Val(Mid(xIE, 2, 1)) * (4) nX3 = Val(Mid(xIE, 3, 1)) * (3) nX4 = Val(Mid(xIE, 4, 1)) * (2) nX5 = Val(Mid(xIE, 5, 1)) * (9) nX6 = Val(Mid(xIE, 6, 1)) * (8) nX7 = Val(Mid(xIE, 7, 1)) * (7) nX8 = Val(Mid(xIE, 8, 1)) * (6) nX9 = Val(Mid(xIE, 9, 1)) * (5) nX10 = Val(Mid(xIE, 10, 1)) * (4) nX11 = Val(Mid(xIE, 11, 1)) * (3) nX12 = Val(Mid(xIE, 12, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11) + (nX12)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 13, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If End If If UF = "AL" Then 'ALAGOAS 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) nTX = ((nTX) * (10)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = nResto If yDigito >= 10 Then yDigito = 0 End If If UF = "AP" Then 'AMAPA If Mid(xIE, 1, 2) = "03" Then 'Define-se dois valores, p e d, de acordo com as seguintes faixas de Inscrição Estadual: If Val(Mid(xIE, 1, 8)) >= 3000001 And Val(Mid(xIE, 1, 8)) <= 3017000 Then P = 5 D = 0 End If If Val(Mid(xIE, 1, 8)) >= 3017001 And Val(Mid(xIE, 1, 8)) <= 3019022 Then P = 9 D = 1 End If If Val(Mid(xIE, 1, 8)) >= 3019023 Then P = 0 D = 0 End If 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((P) + (nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito = 10 Then yDigito = 0 ElseIf yDigito = 11 Then yDigito = D End If End If End If If UF = "AM" Then 'AMAZONAS 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) If nTX < 11 Then xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nTX)) Else 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If End If If UF = "BA" Then 'BAHIA If (Val(Mid(xIE, 8, 1)) >= 0 And Val(Mid(xIE, 8, 1)) <= 5) Or (Val(Mid(xIE, 8, 1)) = 8) Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (7) nX2 = Val(Mid(xIE, 2, 1)) * (6) nX3 = Val(Mid(xIE, 3, 1)) * (5) nX4 = Val(Mid(xIE, 4, 1)) * (4) nX5 = Val(Mid(xIE, 5, 1)) * (3) nX6 = Val(Mid(xIE, 6, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (10))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (10))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 8, 1)) yDigito = "" If nResto = 0 Then yDigito = 0 Else yDigito = ((10) - (nResto)) End If If xDigito = yDigito Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (8) nX2 = Val(Mid(xIE, 2, 1)) * (7) nX3 = Val(Mid(xIE, 3, 1)) * (6) nX4 = Val(Mid(xIE, 4, 1)) * (5) nX5 = Val(Mid(xIE, 5, 1)) * (4) nX6 = Val(Mid(xIE, 6, 1)) * (3) nX7 = (yDigito) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (10))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (10))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 7, 1)) yDigito = ((10) - (nResto)) End If Else 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (7) nX2 = Val(Mid(xIE, 2, 1)) * (6) nX3 = Val(Mid(xIE, 3, 1)) * (5) nX4 = Val(Mid(xIE, 4, 1)) * (4) nX5 = Val(Mid(xIE, 5, 1)) * (3) nX6 = Val(Mid(xIE, 6, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 8, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 If xDigito = yDigito Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (8) nX2 = Val(Mid(xIE, 2, 1)) * (7) nX3 = Val(Mid(xIE, 3, 1)) * (6) nX4 = Val(Mid(xIE, 4, 1)) * (5) nX5 = Val(Mid(xIE, 5, 1)) * (4) nX6 = Val(Mid(xIE, 6, 1)) * (3) nX7 = (yDigito) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 7, 1)) yDigito = ((11) - (nResto)) End If End If End If If UF = "CE" Then 'CEARA 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "DF" Then 'DISTRITO FEDERAL ' Calculo para o primeiro digito 'Extrair os numeros de 1 a 11 e multiplica-los por 4,3,2,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (4) nX2 = Val(Mid(xIE, 2, 1)) * (3) nX3 = Val(Mid(xIE, 3, 1)) * (2) nX4 = Val(Mid(xIE, 4, 1)) * (9) nX5 = Val(Mid(xIE, 5, 1)) * (8) nX6 = Val(Mid(xIE, 6, 1)) * (7) nX7 = Val(Mid(xIE, 7, 1)) * (6) nX8 = Val(Mid(xIE, 8, 1)) * (5) nX9 = Val(Mid(xIE, 9, 1)) * (4) nX10 = Val(Mid(xIE, 10, 1)) * (3) nX11 = Val(Mid(xIE, 11, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 12, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 ' Calculo para o segundo digito If xDigito = yDigito Then 'Extrair os numeros de 1 a 11 e multiplica-los por 5,4,3,2,9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (5) nX2 = Val(Mid(xIE, 2, 1)) * (4) nX3 = Val(Mid(xIE, 3, 1)) * (3) nX4 = Val(Mid(xIE, 4, 1)) * (2) nX5 = Val(Mid(xIE, 5, 1)) * (9) nX6 = Val(Mid(xIE, 6, 1)) * (8) nX7 = Val(Mid(xIE, 7, 1)) * (7) nX8 = Val(Mid(xIE, 8, 1)) * (6) nX9 = Val(Mid(xIE, 9, 1)) * (5) nX10 = Val(Mid(xIE, 10, 1)) * (4) nX11 = Val(Mid(xIE, 11, 1)) * (3) nX12 = Val(Mid(xIE, 12, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11) + (nX12)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 13, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If End If If UF = "ES" Then 'ESPIRITO SANTO 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "GO" Then 'GOAIS 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = "" If Val(Mid(xIE, 1, 8)) = 11094402 Then If nResto <= 1 Then yDigito = xDigito End If End If If (nResto = 1) And (Val(Mid(xIE, 1, 8)) >= 10103105 And Val(Mid(xIE, 1, 8)) <= 10119997) Then If nResto = 1 Then yDigito = xDigito End If Else If nResto = 0 Then yDigito = xDigito End If End If If nResto > 1 Then yDigito = ((11) - (nResto)) End If End If If UF = "MA" Then 'MARANHAO 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "muito" Then 'MATO GROSSO 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (3) nX2 = Val(Mid(xIE, 2, 1)) * (2) nX3 = Val(Mid(xIE, 3, 1)) * (9) nX4 = Val(Mid(xIE, 4, 1)) * (8) nX5 = Val(Mid(xIE, 5, 1)) * (7) nX6 = Val(Mid(xIE, 6, 1)) * (6) nX7 = Val(Mid(xIE, 7, 1)) * (5) nX8 = Val(Mid(xIE, 8, 1)) * (4) nX9 = Val(Mid(xIE, 9, 1)) * (3) nX10 = Val(Mid(xIE, 10, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 11, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "MS" Then 'MATO GROSSO DO SUL 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "MG" Then 'MINAS GERAIS 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (1) nX2 = Val(Mid(xIE, 2, 1)) * (2) nX3 = Val(Mid(xIE, 3, 1)) * (1) nX4 = 0 nX5 = Val(Mid(xIE, 4, 1)) * (1) nX6 = Val(Mid(xIE, 5, 1)) * (2) nX7 = Val(Mid(xIE, 6, 1)) * (1) nX8 = Val(Mid(xIE, 7, 1)) * (2) nX9 = Val(Mid(xIE, 8, 1)) * (1) nX10 = Val(Mid(xIE, 9, 1)) * (2) nX11 = Val(Mid(xIE, 10, 1)) * (1) nX12 = Val(Mid(xIE, 11, 1)) * (2) 'Soma-se os algarismos (não os produtos) do resultado obtido nTX = ((nX1) & (nX2) & (nX3) & (nX4) & (nX5) & (nX6) & (nX7) & (nX8) & (nX9) & (nX10) & (nX11) & (nX12)) xnTX = 0 nVezes = Len(nTX) For nPos = 1 To nVezes xnTX = xnTX + Val(Mid(nTX, nPos, 1)) Next nTX = xnTX 'Subtrai-se o resultado da soma do item anterior, da primeira dezena exata imediatamente superior: nyTX = nTX nxTX = 0 For nPos = 1 To 15 nyTX = nyTX + 1 nInt = (Int((nyTX) / (10))) If (((nyTX) - ((nInt) * (10))) = 0) And (nxTX = 0) Then nxTX = nyTX End If Next 'Acha-se o Digito xDigito = Val(Mid(xIE, 12, 1)) yDigito = (nxTX - nTX) If yDigito = 10 Then yDigito = 0 If xDigito = yDigito Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (3) nX2 = Val(Mid(xIE, 2, 1)) * (2) nX3 = Val(Mid(xIE, 3, 1)) * (11) nX4 = Val(Mid(xIE, 4, 1)) * (10) nX5 = Val(Mid(xIE, 5, 1)) * (9) nX6 = Val(Mid(xIE, 6, 1)) * (8) nX7 = Val(Mid(xIE, 7, 1)) * (7) nX8 = Val(Mid(xIE, 8, 1)) * (6) nX9 = Val(Mid(xIE, 9, 1)) * (5) nX10 = Val(Mid(xIE, 10, 1)) * (4) nX11 = Val(Mid(xIE, 11, 1)) * (3) nX12 = Val(Mid(xIE, 12, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11) + (nX12)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 13, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If End If If UF = "PA" Then 'PARA 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "PB" Then 'PARAIBA 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "PR" Then 'PARANA 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (3) nX2 = Val(Mid(xIE, 2, 1)) * (2) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 If xDigito = yDigito Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (4) nX2 = Val(Mid(xIE, 2, 1)) * (3) nX3 = Val(Mid(xIE, 3, 1)) * (2) nX4 = Val(Mid(xIE, 4, 1)) * (7) nX5 = Val(Mid(xIE, 5, 1)) * (6) nX6 = Val(Mid(xIE, 6, 1)) * (5) nX7 = Val(Mid(xIE, 7, 1)) * (4) nX8 = Val(Mid(xIE, 8, 1)) * (3) nX9 = Val(Mid(xIE, 9, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 10, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If End If If UF = "PE" Then 'PERNANBUCO If Len(xIE) >= 13 Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (5) nX2 = Val(Mid(xIE, 2, 1)) * (4) nX3 = Val(Mid(xIE, 3, 1)) * (3) nX4 = Val(Mid(xIE, 4, 1)) * (2) nX5 = Val(Mid(xIE, 5, 1)) * (1) nX6 = Val(Mid(xIE, 6, 1)) * (9) nX7 = Val(Mid(xIE, 7, 1)) * (8) nX8 = Val(Mid(xIE, 8, 1)) * (7) nX9 = Val(Mid(xIE, 9, 1)) * (6) nX10 = Val(Mid(xIE, 10, 1)) * (5) nX11 = Val(Mid(xIE, 11, 1)) * (4) nX12 = Val(Mid(xIE, 12, 1)) * (3) nX13 = Val(Mid(xIE, 13, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11) + (nX12) + (nX13)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 14, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 Else 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (8) nX2 = Val(Mid(xIE, 2, 1)) * (7) nX3 = Val(Mid(xIE, 3, 1)) * (6) nX4 = Val(Mid(xIE, 4, 1)) * (5) nX5 = Val(Mid(xIE, 5, 1)) * (4) nX6 = Val(Mid(xIE, 6, 1)) * (3) nX7 = Val(Mid(xIE, 7, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 8, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 If xDigito = yDigito Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If End If End If If UF = "PI" Then 'PIAUI 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "RJ" Then 'RIO DE JANEIRO 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (2) nX2 = Val(Mid(xIE, 2, 1)) * (7) nX3 = Val(Mid(xIE, 3, 1)) * (6) nX4 = Val(Mid(xIE, 4, 1)) * (5) nX5 = Val(Mid(xIE, 5, 1)) * (4) nX6 = Val(Mid(xIE, 6, 1)) * (3) nX7 = Val(Mid(xIE, 7, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 8, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "RN" Then 'RIO GRANDE DO NORTE If Len(xIE) = 10 Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (10) nX2 = Val(Mid(xIE, 2, 1)) * (9) nX3 = Val(Mid(xIE, 3, 1)) * (8) nX4 = Val(Mid(xIE, 4, 1)) * (7) nX5 = Val(Mid(xIE, 5, 1)) * (6) nX6 = Val(Mid(xIE, 6, 1)) * (5) nX7 = Val(Mid(xIE, 7, 1)) * (4) nX8 = Val(Mid(xIE, 8, 1)) * (3) nX9 = Val(Mid(xIE, 9, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 10, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 Else 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If End If If UF = "RS" Then 'RIO GRANDE DO SUL 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (2) nX2 = Val(Mid(xIE, 2, 1)) * (9) nX3 = Val(Mid(xIE, 3, 1)) * (8) nX4 = Val(Mid(xIE, 4, 1)) * (7) nX5 = Val(Mid(xIE, 5, 1)) * (6) nX6 = Val(Mid(xIE, 6, 1)) * (5) nX7 = Val(Mid(xIE, 7, 1)) * (4) nX8 = Val(Mid(xIE, 8, 1)) * (3) nX9 = Val(Mid(xIE, 9, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 10, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "RO" Then 'RONDONIA 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 If Len(xIE) > 6 Then xIE = (Mid(xIE, (nVezes - 7), 6)) nX1 = Val(Mid(xIE, 1, 1)) * (6) nX2 = Val(Mid(xIE, 2, 1)) * (5) nX3 = Val(Mid(xIE, 3, 1)) * (4) nX4 = Val(Mid(xIE, 4, 1)) * (3) nX5 = Val(Mid(xIE, 5, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 6, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "RR" Then 'RORAIMA 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (1) nX2 = Val(Mid(xIE, 2, 1)) * (2) nX3 = Val(Mid(xIE, 3, 1)) * (3) nX4 = Val(Mid(xIE, 4, 1)) * (4) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (6) nX7 = Val(Mid(xIE, 7, 1)) * (7) nX8 = Val(Mid(xIE, 8, 1)) * (8) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (9))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (9))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = (nResto) If yDigito >= 10 Then yDigito = 0 End If If UF = "SC" Then 'SANTA CATARINA 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "SP" Then 'são PAULO If Mid(IE, 1, 1) = "P" Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (1) nX2 = Val(Mid(xIE, 2, 1)) * (3) nX3 = Val(Mid(xIE, 3, 1)) * (4) nX4 = Val(Mid(xIE, 4, 1)) * (5) nX5 = Val(Mid(xIE, 5, 1)) * (6) nX6 = Val(Mid(xIE, 6, 1)) * (7) nX7 = Val(Mid(xIE, 7, 1)) * (8) nX8 = Val(Mid(xIE, 8, 1)) * (10) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = (nResto) If yDigito >= 10 Then yDigito = 0 Else 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (1) nX2 = Val(Mid(xIE, 2, 1)) * (3) nX3 = Val(Mid(xIE, 3, 1)) * (4) nX4 = Val(Mid(xIE, 4, 1)) * (5) nX5 = Val(Mid(xIE, 5, 1)) * (6) nX6 = Val(Mid(xIE, 6, 1)) * (7) nX7 = Val(Mid(xIE, 7, 1)) * (8) nX8 = Val(Mid(xIE, 8, 1)) * (10) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = (nResto) If yDigito >= 10 Then yDigito = 0 If xDigito = yDigito Then 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (3) nX2 = Val(Mid(xIE, 2, 1)) * (2) nX3 = Val(Mid(xIE, 3, 1)) * (10) nX4 = Val(Mid(xIE, 4, 1)) * (9) nX5 = Val(Mid(xIE, 5, 1)) * (8) nX6 = Val(Mid(xIE, 6, 1)) * (7) nX7 = Val(Mid(xIE, 7, 1)) * (6) nX8 = Val(Mid(xIE, 8, 1)) * (5) nX9 = Val(Mid(xIE, 9, 1)) * (4) nX10 = Val(Mid(xIE, 10, 1)) * (3) nX11 = Val(Mid(xIE, 11, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8) + (nX9) + (nX10) + (nX11)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 12, 1)) yDigito = (nResto) If yDigito >= 10 Then yDigito = 0 End If End If End If If UF = "SE" Then 'SERGIPE 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 3, 1)) * (7) nX4 = Val(Mid(xIE, 4, 1)) * (6) nX5 = Val(Mid(xIE, 5, 1)) * (5) nX6 = Val(Mid(xIE, 6, 1)) * (4) nX7 = Val(Mid(xIE, 7, 1)) * (3) nX8 = Val(Mid(xIE, 8, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 9, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If If UF = "TO" Then 'TOCANTINS 'Extrair os numeros de 1 a 8 e multiplica-los por 9,8,7,6,5,4,3,2 nX1 = Val(Mid(xIE, 1, 1)) * (9) nX2 = Val(Mid(xIE, 2, 1)) * (8) nX3 = Val(Mid(xIE, 5, 1)) * (7) nX4 = Val(Mid(xIE, 6, 1)) * (6) nX5 = Val(Mid(xIE, 7, 1)) * (5) nX6 = Val(Mid(xIE, 8, 1)) * (4) nX7 = Val(Mid(xIE, 9, 1)) * (3) nX8 = Val(Mid(xIE, 10, 1)) * (2) 'Soma o Resultado nTX = ((nX1) + (nX2) + (nX3) + (nX4) + (nX5) + (nX6) + (nX7) + (nX8)) 'Divide-se o resultado por 11 e pega-se a parte inteira nInt = (Int((nTX) / (11))) 'Acha-se o resto nResto = ((nTX) - ((nInt) * (11))) 'Acha-se o Digito xDigito = Val(Mid(xIE, 11, 1)) yDigito = ((11) - (nResto)) If yDigito >= 10 Then yDigito = 0 End If 'Retorno da funcao If xDigito = yDigito Then ChekIE = True Else ChekIE = False End If End Function Editado Outubro 14, 2007 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Alex Sandro Rodrigues Lopes
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.