Extrair números de células no Excel
Há funções que o Excel nativamente não faz como se precisa. Neste artigo você verá como extrair números de células no Excel com uma função UDF criada no VBA.
Este artigo surgiu da necessidade de uma leitora que precisava extrair os números de notas fiscais que constavam nos históricos dos lançamentos contábeis.
O que é uma UDF
UDF é a sigla para user defined function no Excel, ou função definida pelo usuário em português.
O Excel possui centenas de funções prontas, mas há necessidades específicas que o mesmo não consegue atender com fórmulas, como é o caso da extração de valores de células.
No Guia do Excel temos várias funções próprias criadas, veja nestes links:
Contar, somar e média pela cor da célula
Como implementar a função de extrair números no Excel
Como criar funções próprias no Excel com VBA
Função para validar inscrição estadual
Como validar e formatar CPF com UDF
Como instalar a função de extrair dados 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:
Desta forma criei uma função que realiza a extração dos números de células utilizando o VBA abaixo:
'Esta função tem por objetivo retirar números de células que contenham conteúdos mistos de números e texto 'sem a possibilidade de serem colunados Public Function lfRetiraNumeros(ByVal vValor As String) As String 'Atualiza o cálculo automaticamente Application.Volatile 'Conta a quantidade de caracteres Dim vQtdeCaract As Long Dim vControle As Boolean vQtdeCaract = Len(vValor) vControle = False 'Para cada caractere identifica se é número ou texto For i = 1 To vQtdeCaract 'Se for número adiciona no retorno da função If IsNumeric(Mid(vValor, i, 1)) Then If vControle = True And lfRetiraNumeros <> vbNullString Then lfRetiraNumeros = lfRetiraNumeros + "/" End If vControle = False lfRetiraNumeros = lfRetiraNumeros & Mid(vValor, i, 1) Else vControle = True End If Next End Function
Como utilizar a função de extrair números de células
Padrão: =lfRetiraNumeros(Célula de Referência)
Exemplo:
- Célula de Referência: “CANCELAMENTO NOTA 678 E NF 679 E 900 NF 456”
- Fórmula: =lfRetiraNumeros(A1)
- Resultado: 678/679/900/456
Download
Faça o download da planilha no link abaixo.
Baixe a planilhaAbraço
Marcos Rieper
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: