Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Removendo Caracteres Ocultos no Excel Usando VBA

#ExcelAvancado; #VBAExcel; #AutomatizacaoDados
@CanalQb

Excel VBA para remover caracteres ocultos indesejados


Você já se deparou com valores no Excel que parecem normais, mas não funcionam corretamente em fórmulas ou ao importar dados? É possível que esses valores contenham caracteres ocultos que dificultam o uso da planilha.

Este tutorial mostra como criar uma função personalizada em VBA que identifica e remove esses caracteres, deixando suas células limpas e funcionais.

Vídeo com demonstração prática

@CanalQb

Recomendação de segurança

Sempre crie uma frase de segurança única para jogos, @CanalQb e qualquer outra aplicação desconhecida. Evite usar sua carteira principal nesses casos.

Função VBA para uso direto em células

Abra o editor VBA no Excel (Alt + F11), insira um novo módulo e cole o seguinte código:

Function findInvisChar(sInput As String) As String
    Dim sSpecialChars As String
    Dim i As Long
    Dim sReplaced As String
    Dim ln As Integer

    sSpecialChars = "" & Chr(1) & Chr(2) & Chr(3) & Chr(4) & Chr(5) & Chr(6) & Chr(7) & _
    Chr(8) & Chr(9) & Chr(10) & Chr(11) & Chr(12) & Chr(13) & Chr(14) & Chr(15) & _
    Chr(16) & Chr(17) & Chr(18) & Chr(19) & Chr(20) & Chr(21) & Chr(22) & Chr(23) & _
    Chr(24) & Chr(25) & Chr(26) & Chr(27) & Chr(28) & Chr(29) & Chr(30) & Chr(31) & _
    Chr(32) & ChrW(&HA0)

    For i = 1 To Len(sSpecialChars)
        ln = Len(sInput)
        sInput = Replace$(sInput, Mid$(sSpecialChars, i, 1), "")
        If ln <> Len(sInput) Then
            sReplaced = sReplaced & Mid$(sSpecialChars, i, 1)
        End If
    Next

    MsgBox sReplaced & " These were identified and removed"
    findInvisChar = sInput
End Function

Depois de colar o código, use a função em uma célula como:

=findInvisChar(A1)

Onde A1 é a célula com o conteúdo que você deseja limpar.

Remoção direta em variáveis (modo avançado)

Para programadores que manipulam strings no VBA, você pode aplicar a mesma lógica diretamente em variáveis:

Dim sInput As String
Dim sSpecialChars As String
Dim sReplaced As String
Dim ln As Integer
Dim i As Long

sInput = variavelpracorrigir

sSpecialChars = "" & Chr(1) & Chr(2) & ... & ChrW(&HA0)

For i = 1 To Len(sSpecialChars)
    ln = Len(sInput)
    sInput = Replace$(sInput, Mid$(sSpecialChars, i, 1), "")
    If ln <> Len(sInput) Then
        sReplaced = sReplaced & Mid$(sSpecialChars, i, 1)
    End If
Next

variavelcorrigida = sInput

Considerações e recomendações adicionais

  • Utilize o Microsoft Excel 2016 ou mais recente para maior estabilidade com macros.
  • Evite colar dados diretamente da internet sem filtragem.
  • Faça testes em cópias da planilha antes de aplicar em arquivos importantes.
  • Para manipulação massiva de dados, use Power Query integrado ao Excel.

Este conteúdo é para fins educacionais. A utilização de scripts VBA é de responsabilidade do usuário. Sempre faça backup dos dados antes de aplicar qualquer macro.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo