Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

Como remover caracteres não numéricos de células no Excel?

Suponha que você tenha uma planilha com muitos desses dados ABCD4578124YUIOH, e você só deseja remover os caracteres não numéricos  ABCDYUIOH mas mantenha os caracteres numéricos nas células. Claro, você pode remover esses caracteres um por um, mas aqui você pode se livrar dos caracteres não numéricos das células rapidamente da seguinte maneira:

Remova caracteres não numéricos com o código VBA

Uma ferramenta útil para remover caracteres não numéricos com um clique


Remova caracteres não numéricos com o código VBA

Para remover caracteres não numéricos de um intervalo com código VBA, faça o seguinte:

1. Clique Desenvolvedor > Visual Basic para abrir o Microsoft Visual Basic para aplicativos janela. No Microsoft Visual Basic para aplicativos janela, clique em inserção > Móduloe copie e cole os seguintes códigos no módulo:

VBA: Remova todos os caracteres não numéricos

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

2. Em seguida, clique no botão botão para executar o código, no pop-up KutoolsforExcel caixa de diálogo, selecione um intervalo com os caracteres não numéricos que deseja remover e clique no botão OK botão. Veja a imagem:

doc remove caracteres não numéricos 1 cópia

3. Em seguida, todos os caracteres não numéricos no intervalo selecionado são removidos.

doc remova caracteres não numéricos 2

Se os números com casas decimais, você pode usar o seguinte VBA:

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9.]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

Você pode ver os resultados conforme a captura de tela abaixo:

doc remova caracteres não numéricos 3


Uma ferramenta útil para remover caracteres não numéricos com um clique

Para remover caracteres não numéricos em um intervalo, Kutools for Excel'S Remover Personagens utilitário pode fazer isso com um clique.

Kutools for Excel : com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias. 

Depois de instalar Kutools for Excel, faça o seguinte:

1. Realce o intervalo do qual deseja remover os caracteres não numéricos. Clique Kutools > Texto > Remover Personagens.

doc remova caracteres não numéricos 4

2. No Remover Personagens caixa de diálogo, verifique a Não numérico opção no Remover Personagens seção e, em seguida, clique no OK or Inscrever-se botão. E os caracteres não numéricos são removidos da seleção imediatamente. Veja a imagem:

doc remova caracteres não numéricos 5

Clique para baixar Kutools para Excel e avaliação gratuita agora!

Para obter informações mais detalhadas sobre Remover Personagens do Kutools para Excel, visite Remova a descrição dos recursos dos personagens.


Demonstração: remova caracteres numéricos, alfabéticos, não imprimíveis ou alfanuméricos das células

Kutools for Excel: com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias. Baixe e teste grátis agora!

Artigos relacionados:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
officetab bottom
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Abi DC · 4 years ago
    HI Thanks for the coding, i am getting the syntax error highlighted on For i = 1 To Len(Rng.Value) and the debug Sub RemoveNotNum() is highlighted in yellow.. kindly advice.
  • To post as a guest, your comment is unpublished.
    usuc · 4 years ago
    The VBA works great. I modified it to always work on a column, as shown:

    For Each Cell In Range("B2:B" & ActiveSheet.UsedRange.Rows.Count)

    xOut = ""

    For i = 1 To Len(Cell.Value)

    xTemp = Mid(Cell.Value, i, 1)

    If xTemp Like "[0-9]" Then

    xStr = xTemp

    Else

    xStr = ""

    End If

    xOut = xOut & xStr

    Next i

    Cell.Value = xOut

    Next

    I also used this to sort a column by the last digit, changing the last part to Cell.Value = Right(xOut, 1) then sorting it numerically.
  • To post as a guest, your comment is unpublished.
    Naresh kumar · 4 years ago
    Send me it on my email id
    • To post as a guest, your comment is unpublished.
      samola · 4 years ago
      Hi,

      I want to use this macro but want to pre-define a range. Can you please let me know how to pre-define the range.

      Thanks,
      Samit
  • To post as a guest, your comment is unpublished.
    Cole · 6 years ago
    Just wanted to let you know that if the string starts with zero(s), or starts with letters, followed by zero(s), followed by the rest of the string this will remove all of the beginning zeroes. This is weird because it doesn't remove the zero(s) if they are between other non-zero numbers within the string, only if they start the string or are the first numbers after the initial letters in a string.

    Example.

    0060100 would come out as 60100

    PFF057726 would come out as 57726.

    Let me know if you have an explanation for this and can think of a solution. Thank you.
  • To post as a guest, your comment is unpublished.
    Roger · 6 years ago
    Thanx Guys for such a nice work. The script is awesome and it worked for. Keep it up guys.
  • To post as a guest, your comment is unpublished.
    Easter2015 · 6 years ago
    Use this Formaula for replacing the existing character with the new one
    =SUBSTITUTE(text,old_text,new_text,[instance_num])
    for ex-=SUBSTITUTE(TRIM(G1),"/","")
    Wish U all Happy Easter 2015
  • To post as a guest, your comment is unpublished.
    amanda · 7 years ago
    I received an error when I hit the > run button in the developer:

    Compile Error:
    Expected:end of statement


    and the word "non" in non-numeric is highlighted
  • To post as a guest, your comment is unpublished.
    Daniel · 7 years ago
    Wow. that worked , exactly what I needed.

    Thanks,
  • To post as a guest, your comment is unpublished.
    Julie Hodnett · 7 years ago
    Awesome Worked GREAT!!!!!!!!
  • To post as a guest, your comment is unpublished.
    Bryan Steven · 7 years ago
    wouldn't be better to replace the input-box method by just setting
    WorkRng like this:
    Set WorkRng = Intersect(ActiveSheet.UsedRange, Selection)
    that way if user select a entire column it wouldn't generate any error.
  • To post as a guest, your comment is unpublished.
    jo · 7 years ago
    thankyou worked well
  • To post as a guest, your comment is unpublished.
    JW · 7 years ago
    sample code for comments