Dica VBA/Excel: Macro para quebrar arquivos muito grandes
O Excel tem uma limitação quanto ao número de linhas 65,536 é o máximo em cada planilha às vezes temos vontade (ou precisamos) importar determinados arquivos, porém, seu tamanho é maior que a capacidade máxima, para resolver esse problema é só usar o campo “Iniciar importação na linha” presente na primeira tela do assistente de importação de texto. Se o arquivo ainda não couber em duas planilhas, repita o processo em quantas for necessário.
Para automatizar essa tarefa, como já foi dito, é possível criar uma pequena macro em Visual Basic capaz de ler o arquivo dos dados e quebrá-lo em quantas planilhas for preciso. Clique em Ferramentas / Macro / Macros. Dê um nome para sua macro, por exemplo Importar TextosGrandes, e clique em Criar. No editor do Visual Basic que se abrirá, digite o seguinte código:
Sub ImportarTextosGrandes()
Dim ultimaFila, fila, contador As Long
Dim linea, NomeArquivo As String
‘Calcula a última linha da planilha
Selection.End(xlDown).Select
ultimaFila = Selection.Row
Selection.End(xlUp).Select
Set oSistemaArquivo = CreateObject(”Scripting.FileSystemObject”)
‘Nome do arquivo a importar
NomeArquivo = “C:\Windows\setuplog2.txt”
Set arquivo = oSistemaArquivo.OpenTextFile(NomeArquivo, 1, False, -2)
fila = 1
contador = 1
Do While arquivo.AtEndOfStream <> True
linea = arquivo.ReadLine
Cells(fila, “a”).Value = linea
‘Atualiza barra de status
Application.StatusBar = “Lendo linha número = ” & contador
fila = fila + 1
contador = contador + 1
‘Cria nova planilha quando planilha atual está cheia
If fila > ultimaFila Then
Worksheets.Add after:=ActiveSheet
fila = 1
End If
Loop
End Sub
Note que a variável NomeArquivo contém o caminho e o nome do arquivo onde estão os dados que serão importados. Criada a macro, para disparar a importação clique em Ferramentas / Macro / Macros. Clique no nome da macro criada e escolha Executar. Durante o processo, a barra de status indicará o número da linha em transferência.




Leave a Reply