Converter utf8 para iso-8859-1, ASCII, ANSI – Excel VBA

Customizar botão direito do mouse
Alterar funções do botão direito do Excel
11 de junho de 2016
Gráfico burndown Excel 5
Gráfico Burndown Scrum Excel
19 de junho de 2016

Converter UTF8 para iso-8859-1, ASCII, ANSI – Excel VBA

Esta semana precisei converter UTF8 para iso-8859-1 de uma lista de dados, ou seja alfabeto latin, utilizado no Brasil, também conhecido como ASCII ou ANSI, então procurei e encontrei em um fórum a função adaptada que realiza esta conversão no Excel com VBA. O original foi encontrado neste fórum.

Para você inserir uma função própria no Excel, siga os passos descritos no artigo Como criar funções próprias Excel VBA deste mesmo site, com a versão passo-a-passo em vídeo e em texto.

Código da função para converter UTF8

Abaixo o código fonte do código fonte VBA para converter UTF8 para ISO-8859-1 ou ASCII.

Public Function fnConverterUTF8(ByVal Texto_para_converter As String)
    Dim l As Long, sUTF8 As String
    Dim iChar As Integer
    Dim iChar2 As Integer
    
    For l = 1 To Len(Texto_para_converter)
        iChar = Asc(Mid(Texto_para_converter, l, 1))
        If iChar > 127 Then
            If Not iChar And 32 Then
            iChar2 = Asc(Mid(Texto_para_converter, l + 1, 1))
            sUTF8 = sUTF8 & ChrW$(((31 And iChar) * 64 + (63 And iChar2)))
            l = l + 1
        Else
            Dim iChar3 As Integer
            iChar2 = Asc(Mid(Texto_para_converter, l + 1, 1))
            iChar3 = Asc(Mid(Texto_para_converter, l + 2, 1))
            sUTF8 = sUTF8 & ChrW$(((iChar And 15) * 16 * 256) + ((iChar2 And 63) * 64) + (iChar3 And 63))
            l = l + 2
        End If
            Else
            sUTF8 = sUTF8 & Chr$(iChar)
        End If
    Next l
    fnConverterUTF8 = sUTF8
End Function

A utilização dela é bastante simples, basta você digitar =fnConverterUTF8(A1), substituindo o A1 pela célula aonde está o texto para converter em ASCII, e o mesmo será convertido imediatamente.

A performance também é boa, para uma lista de 40.000 linhas os textos foram convertidos em cerca de 2 minutos.

Converter utf8 para iso-8859-1 ASCII ANSI

No exemplo acima você pode ver a utilização da mesma em uma planilha Excel, e no download deste arquivo você tem a função aplicada diretamente em um exemplo.

Esta é mais uma função que você não sabe como usar, mas é bem possível que seja necessário, principalmente se você tiver que trabalhar com algum dado de uma lista antiga, ou exportada de uma forma incorreta por um cliente e você tenha que ajustá-la. Por isso a nossa sugestão é de você criar um suplemento com as funções que você criou e encontrou na internet, se já não tiver, e adicionar mais esta função.

Abraço

Marcos Rieper


Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui você encontra tudo sobre Excel, seja de nível básico, intermediário,  avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
Cursos

Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado – Acesso Vitalício

R$218,00 R$179,00

COMPRAR
Cursos

Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso VBA Excel + LP – Acesso Vitalício

R$357,00 R$249,00

COMPRAR
Cursos

Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de programação – Acesso Vitalício

R$258,00 R$199,00

COMPRAR
Cursos

Curso Excel Web – Curso VBA Excel + Lógica de programação + Curso Web Scraping VBA- Acesso Vitalício

R$388,90 R$309,00

COMPRAR

1 Comentário

  1. Heitor Invernizzi disse:

    Sua função para CONVERTER UTF8 foi muito útil para meu projeto.
    Agradeço muito tê-la disponibilizado.

Deixe uma resposta

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.