O delimitador é o ponto-e-vírgula.
Arquivo texto sem cabeçalho.
;-)
Sub importa_delimitado() Dim entrada As String 'linha do txt Dim i As Single 'número de caracteres Dim linha As Integer Dim coluna As Integer Dim texto As String 'texto a ser gravado na célula Dim ultimo As Boolean 'controle do último caracter da linha Open "C:\Users\kazu\Desktop\pasta1.csv" For Input As #1 linha = 1 coluna = 1 Do While Not EOF(1) Line Input #1, entrada For i = 1 To Len(entrada) If Mid(entrada, i, 1) = ";" Then Cells(linha, coluna).Value = texto coluna = coluna + 1 texto = "" Else 'Se for o último caracter, grava na célula If i = Len(entrada) Then texto = texto & Mid(entrada, i, 1) Cells(linha, coluna).Value = texto coluna = coluna + 1 texto = "" ultimo = True End If If Not ultimo Then texto = texto & Mid(entrada, i, 1) End If ultimo = False Next linha = linha + 1 coluna = 1 Loop Close #1 End Sub
2 comentários:
Edmar, boa noite!
Não conheço o arquivo, você consegue enviar um exemplo?
Olhei no site do IBGE mas não achei...
Sou aprendiz de VBA, precisava de um código que conseguisse importar um arquivo texto delimitado, localizei este publicado no seu blog em 2010.
Percebi que o último registro não importou e não tenho conhecimento ainda para localizar o ajuste necessário, conseguiria me ajudar, por gentileza.
Parabéns pelo seu trabalho, tu é fera.
Postar um comentário