Notifications
Clear all

Importe arquivos muito grandes para o Excel

1 Posts
1 Usuários
0 Reactions
1,203 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Tem uma lista muito grande que não cabe em uma planilha do Excel? Saiba como criar uma macro para quebrá-la em várias planilhas.

As planilhas do Excel têm um limite de 65.536 linhas (Excel 2003). Caso você tente importar dados de uma lista com mais itens que esse valor para um arquivo do Excel, receberá um aviso de que a planilha é incapaz de realizar a operação. Uma solução para esse problema é importar a parte dos dados que couber na primeira planilha e depois retomar o processo a partir do ponto onde parou em uma outra planilha do mesmo arquivo. Para isso, basta 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, é 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:Windowssetuplog2.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.

Fonte: PC WORLD

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/09/2009 9:58 am