Extrair texto e números no Excel

Neste artigo você aprenderá a Extrair texto e números no Excel.

Muitas vezes quando estamos realizando um cruzamento de dados entre bases diferentes necessitamos que estes dados estejam padronizados, e uma das ações que devemos fazer é Extrair texto e números no Excel para realizar os cruzamentos.




Função para Extrair texto e números no Excel

A função a seguir, programada em VBA é para ser utilizada no Excel.

Lhe ajudará a Extrair texto e números de uma célula que tenha texto ou números, sejam eles juntos ou separadados.

Para usá-la, no Excel vá até o ambiente de desenvolvimento do VBA apertando ALT+F11.
Ou na aba Desenvolvedor > Visual Basic e em seguida em Inserir > Módulo.

Option Explicit

Function Separa(Text As String, opcao As Integer)

'Text = Texto a ser separado
'opcao = 1 para Números e 2 para Textos
'------------------------------------------------

Dim A As Integer 'Atribui a variável de repetição

Select Case opcao '- Verifica se é para extrair números ou texto

Case 1 'Números

    For A = 1 To Len(Text)
    
        If IsNumeric(Mid$(Text, A, 1)) Then  'se for numérico...
        
            Separa = Separa & Mid$(Text, A, 1)  'extrai o número para a função SEPARA
        
        End If
    
    Next

    Separa = CLng(Separa) 'Converte para long

Case 2 'Textos

    For A = 1 To Len(Text)
    
        If Not IsNumeric(Mid$(Text, A, 1)) Then 'se NÃO é numérico
        
            Separa = Separa & Mid$(Text, A, 1)
        
        End If

    Next

    Separa = Trim$(Separa) 'Elimina espaços desnecessários
    
End Select


End Function

Esta função armazena o valor de uma célula em uma variável, na qual é o texto a ser separado, ou número, onde é possível escolher a opção desejada, sendo = 1 para Números e 2 para Texto.

A função verifica se é para extrair números ou texto, se for numérico extrai o número para a função e separa do texto, e se for texto elemina os números.

Tudo isso através de um Loop percorre o texto palavra letra a letra, quando encontra um dos caracteres numéricos ou texto ele monta uma matriz com o conteúdo e ao final retira os espaços desnecessários.

Sabendo-se como a função funciona e colando a mesma no novo módulo, é possível usar a função.

Digite em qualquer célula “=separa(A1;1)”, =separa(Célula, 1)  para extrair números e =separa(Célula, 3) para extrair texto, ela pode ser utilizada como uma função qualquer do Excel usando a sintaxe =separa(Célula, 1), como no exemplo abaixo:

Extrair textos e números no Excel

 

Esta é uma forma simples e rápida, caso conheça outra forma compartilhe comigo.

Caso tenha dúvidas, dificuldades ou problemas para implementar a função deixe um comentário.

Veja no link abaixo outro artigo bacana também…
http://douglasgodoy.com.br/funcao-para-retirar-acentos-e-caracteres-especiais-no-excel/

Um abraço!

Douglas Godoy




.

Sobre o Autor

Comentários bacanas...

  1. Ana Paula Madeiro

    Douglas, parabéns pelo conteúdo , pelas macros, dicas e por tudo o que envolve seu site.

    Muito obrigada, por compartilhar conosco suas criações que nos ajudam demais no dia a dia, eu super utilizei a macro pra extrair os dados do Outlook , foi e está sendo super valido.

    Parabéns e muito mais sucesso!

    1. Douglas Godoy Resposta do Autor

      Olá Ana, boa noite!

      Muito obrigado pela confiança, sempre que precisar pode voltar ao site e também me enviar mensagem que buscarei a solução ou como ajudar.

      Fico a disposição. Abraços!

      1. Silva

        Ok… Parabéns pela função.
        1- mas o texto fica com espaços, mesmo com o argumento “Separa = Trim$(Separa)”
        2- os conjuntos de números precisariam ficar separados (assimc omo no item 1 indiquei que apesar do argumento o conjunto de texto mantem os espaços).
        Se puder…aguardo comentario

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *