Excel: Remove apenas caracteres alfabéticos (retém caracteres especiais)

0

Dois conjuntos de dados para comparar.

6701.2345_5432 e no segundo o sistema inseriu letras. 6701E.2345_5432

Tenho cerca de 8000 linhas que preciso comparar e não consigo modificar o código do VBA para remover os alfas sem remover os caracteres especiais que preciso reter.

Obrigado pela sua ajuda!

    
por DanDataDan 16.01.2014 / 21:05

2 respostas

1

Este código VBA usa RegEx para remover caracteres alfabéticos de todas as células na planilha ativa.
Altere [A-Za-z] para o que deve ser removido.

Sub RegExRemove()

    Dim RegEx As Object
    Set RegEx = CreateObject("VBScript.RegExp")
    RegEx.Global = True

    RegEx.Pattern = "[A-Za-z]"
    For Each objCell In ActiveSheet.UsedRange.Cells
        objCell.Value = RegEx.Replace(objCell.Value, "")
    Next

End Sub
    
por 16.01.2014 / 21:18
0

Revisão menor para usar apenas células selecionadas

Sub RegExRemove ()

Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
RegEx.Global = True

RegEx.Pattern = "[A-Za-z]"
For Each Cell In Selection()
   Cell.Offset(0, 1).Value = RegEx.Replace(Cell.Value, "")
Next

End Sub

    
por 11.11.2016 / 17:04