VBA Tips - Validando o CNPJ














Segue código para a validação do CNPJ que compreende as informações cadastrais das entidades de interesse das administrações tributárias da União, dos Estados, do Distrito Federal e dos Municípios.

Function cnpj_Validation(CNPJ As String) As String
'Calcula os dígitos verificadores do CNPJ
Dim I As Integer
Dim intFator As Integer
Dim intTotal As Integer
Dim intResto

'Verifica se tem 12 ou 14 dígitos
If Not (Len(CNPJ) = 12 Or Len(CNPJ) = 14) Then
    Exit Function
Else
    'Verifica se é numérico
    If Not IsNumeric(CNPJ) Then
        Exit Function
    Else
        'Trunca o CNPJ em 12 caracteres
        Let CNPJ = Left$(CNPJ, 12)
    End If
End If

Inicio:
'Percorre as colunas (de trás para frente),
'multiplicando por seus respectivos fatores
Let intFator = 2
Let intTotal = 0
For I = Len(CNPJ) To 1 Step -1
    If intFator > 9 Then intFator = 2
    Let intTotal = intTotal + ((CInt(Mid(CNPJ, I, 1)) * intFator))
    Let intFator = intFator + 1
Next I

'Obtém o resto da divisão por 11
Let I = intTotal Mod 11
'Subtrai 11 do resto
Let I = 11 - I
'O dígito verificador é i
If I = 10 Or I = 11 Then I = 0
'Concatena ao CNPJ
Let CNPJ = CNPJ & CStr(I)

If Len(CNPJ) = 13 Then
    'Calcula o segundo dígito
    GoTo Inicio
End If

'Retorna os dígitos verificadores
Let fDigCNPJ = Right$(CNPJ, 2)
End Function

TagsVBA, Tips, CNPJ, format, validar, validation, verificador

Nenhum comentário:

Postar um comentário

diHITT - Notícias