Abrir arquivo texto no Excel o com mais de 1 milhão de linhas

Abrir arquivo texto no Excel o com mais de 1 milhão de linhas

Objetivo: Demonstrar como abrir um arquivo texto com mais de 1 milhão de linhas no Excel utilizando VBA.

AbrirArquivoExcel

Esta versão do artigo http://guiadoexcel.com.br/separar-linhas-de-um-arquivo-texto-em-planilhas, neste há uma melhoria pequena que permite que seja selecionado o arquivo, evitando que tenha que digitar o caminho completo do arquivo.

Veja neste link Como abrir arquivos com mais de 1.048.576 linhas no Excel com o PowerQuery no Excel.

Sugiro que incluam esta macro na  sua pasta pessoal de macros para que possa ser usada quando necessária, pode ser de grande utilidade.

O Excel á partir de sua versão 2007 permite a criação de planilhas com 1.048.576 linhas, só que ás vezes temos que abrir arquivos texto no Excel com mais do que o limite de linhas da planilha, ou simplesmente desejamos separar o arquivo em planilhas com a quantidade igual de linhas.

Para isso criei uma macro que abre o arquivo em quantidades iguais em várias planilhas quantas forem necessárias.

Então é isso pessoal, este procedimento não separa o arquivo em colunas, porque cada arquivo texto possuem delimitadores diferentes. Em um próximo post vou demonstrar como separar em colunas um arquivo texto.

Public Sub LerArquivoTexto()
    On Error GoTo TratarErro

    Dim lsCaminho As String
    Dim llArquivo As Long
    Dim llLinha As String
    Dim lQtde As Long
    Dim llPlanilhas As Long

    'Local do Arquivo
    lsCaminho = lfSelecionarArquivo 'InputBox("Digite o caminho do arquivo: ", actName)
    
    'Qtde de Linhas a separar no arquivo
    lQtde = InputBox("A cada quantas linhas separar o arquivo: ", actName)

    'Identificar se o arquivo existe
    If Dir(lsCaminho) <> "" Then
        llArquivo = FreeFile
        
        Open lsCaminho For Input As #llArquivo
        
        lContador = 1
        llPlanilhas = 1
        
        'Ler o arquivo texto
        While Not EOF(llArquivo)
            Line Input #llArquivo, llLinha
            
            If lContador <= lQtde Then
                Range("A" & lContador).Value = llLinha
            Else
                llPlanilhas = llPlanilhas + 1
                Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = CStr(llPlanilhas)
                lContador = 1
                Range("A" & lContador).Value = llLinha
            End If
            lContador = lContador + 1
        Wend

        Close #llArquivo
    Else
        MsgBox "Arquivo não encontrado"
    End If

 
Sair:
    Exit Sub
TratarErro:
    MsgBox "Houve um erro na leitura do arquivo!"
    GoTo Sair
    Resume
End Sub

DIGITE O SEU EMAIL PARA FAZER O DOWNLOAD DOS ARQUIVOS: Baixe a planilha

Abraço

Marcos Rieper


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel