Validar e Formatar CPF no Excel

Validar e Formatar CPF no Excel

Neste artigo é demonstrado como validar números de CPF e formatar números de CPF no Excel, é demonstrada uma função VBA para validar o dígito verificador do CPF e verificar se o mesmo está correto.

Para realizar o cálculo do dígito verificador a regra é a seguinte:

Cálculo do primeiro dígito verificador do CPF

Usando como exemplo o CPF: 038.277.936-37

1. Multiplicar os primeiros 9 números pela sequência regressiva de 2 á 10 e somamos o resultado:

2. Dividir o valor total por 11 e guardar o valor do resto da divisão:

Soma: 239, dividido por 11, o resto da divisão é 8

Se o resto da divisão for menor do que 2 o valor é 0, senão o cálculo é 11-o resto da divisão, ou seja:

1.º Dígito verificador = 11-8 = 3

Cálculo do segundo dígito verificador

1. Multiplicar os primeiros 10 números pela sequência regressiva de 2 á 10 e somamos o resultado:

Validar e formatar CPF Excel 2

2. Dividir o valor total por 11 e guardar o valor do resto da divisão:

Soma: 290, dividido por 11, o resto da divisão é 4

Se o resto da divisão for menor do que 2 o valor é 0, senão o cálculo é 11-o resto da divisão, ou seja:

2.º Dígito verificador = 11-4 = 7

Logo o dígito verificador do sistema é então 37





Instalar a função de validar CPF no Excel

Para instalar a função pressione as teclas ALT + F11, depois clique em Inserir->Módulo

No módulo criado cole o código VBA:

'Função que valida CPF
Public Function lfValidaCPF(ByVal lNumCPF As String) As Boolean
    Application.Volatile
    
    Dim lMultiplicador  As Integer
    Dim lDv1            As Integer
    Dim lDv2            As Integer
    
    lMultiplicador = 2
    
    'Realiza o preenchimento dos zeros á esquerda
    lNumCPF = String(11 - Len(lNumCPF), "0") & lNumCPF
    
    'Realiza o cálculo do dividendo para o dv1 e o dv2
    For i = 9 To 1 Step -1
        lDv1 = (Mid(lNumCPF, i, 1) * lMultiplicador) + lDv1
        
        lDv2 = (Mid(lNumCPF, i, 1) * (lMultiplicador + 1)) + lDv2
        
        lMultiplicador = lMultiplicador + 1
    Next
    
    'Realiza o cálculo para chegar no primeiro dígio
    lDv1 = lDv1 Mod 11
    
    If lDv1 >= 2 Then
        lDv1 = 11 - lDv1
    Else
        lDv1 = 0
    End If
    
    'Realiza o cálculo para chegar no segundo dígido
    lDv2 = lDv2 + (lDv1 * 2)
    
    lDv2 = lDv2 Mod 11
    
    If lDv2 >= 2 Then
        lDv2 = 11 - lDv2
    Else
        lDv2 = 0
    End If
    
    'Realiza a validação e retorna na função
    If Right(lNumCPF, 2) = CStr(lDv1) & CStr(lDv2) Then
        lfValidaCPF = True
    Else
        lfValidaCPF = False
    End If
End Function

Para usar a função clique em qualquer lugar na sua planilha do Excel e digite lfValidaCPF, e passe o número, conforme abaixo:

A função retornará VERDADEIRO caso o dígito verificador estiver correto e caso esteja incorreto ele retornará FALSO.

No vídeo neste artigo tem um passo-a-passo demonstrando como desenvolver do zero a função e como utilizá-la para validar quantos números você precisar.

Veja também como criar um Suplemento no Excel para que a função funcione no seu Excel sempre que precisar: https://www.guiadoexcel.com.br/como-criar-funcoes-proprias-no-excel-com-vba/

Formatar CPF

  1. Para formatar o CPF no Excel selecione o intervalo de células e pressione CTRL+1
  2. Na tela que segue clique em Formatar->Personalizado
  3. Digite a formatação: 000\.000\.000-00, conforme abaixo:

5. Veja como fica a formatação das células.

Abraço

Marcos Rieper

Abaixo o download da planilha com o código fonte já implementado.

Baixe a planilha
Avalie este post
Sair da versão mobile