Por que meu documento do Excel tem 960.000 linhas vazias?

13

Eu tenho um documento do Excel, o Office 2007, em uma máquina com Windows 7 (se essa parte é importante, não tenho certeza, mas apenas jogá-la lá fora). É uma lista de todos os números de telefone dos funcionários. Se precisar gerar uma nova página, posso clicar na página 2 e a tabela será gerada automaticamente novamente.

O problema é que alguém estragou tudo, pois está em uma unidade de rede e agora mostra que tenho mais de 960.000 linhas de dados, quando realmente não tenho! Eu fiz CTRL + END para ver se havia algum dado na última célula, então limpei-o, excluí essa linha e coluna, mas ainda não o corrigi. Parece quase que se duplica após a exclusão.

Como posso corrigir isso em vez de recriar o documento inteiro?

C-vertigem
fonte
1
Você tentou restaurar um backup? Além disso, você precisará fornecer mais informações sobre o que a macro ou o VBA está fazendo para gerar uma nova tabela. Você pode postar essa informação?
CharlieRB 5/12/12
@CharlieRB Ao olhar mais para o documento, percebi que não estava gerando uma nova tabela. Não foi um que eu criei originalmente, era apenas uma configuração de borda que parecia uma tabela. Tentei restaurar um backup, mas aparentemente o problema ocorreu antes do último backup bom. Se eu for para a última linha, que é 1.048.576 ... quando tento excluir essa linha, no lugar dela estão as células com bordas, como no início do documento.
C-dizzle
@CharlieRB Acabei voltando e recriando o documento do zero, mas ainda me deixa imaginando o que continua substituindo células vazias por bordas que não estou colocando lá.
C # dizzle C: dizzle
Se for um arquivo compartilhado, você pode ter alguém que pense que a maneira de formatar células é fazer colunas inteiras de cada vez, e não apenas o necessário. Ou isso é feito se você é o único acessando o arquivo agora?
datatoo

Respostas:

14

A Microsoft possui um excelente documento de suporte chamado Como redefinir a última célula no Excel .

A partir desse documento:

A causa mais comum da última célula definida fora do intervalo da planilha atualmente em uso é a formatação excessiva. Quando você formata linhas e colunas inteiras, alguns tipos de formatação podem fazer com que a última célula seja configurada para uma célula muito abaixo ou à direita do intervalo real em uso.

Com base nos comentários abaixo da sua pergunta, certamente parece que o formato da borda aplicado a todas as linhas é o culpado.

Usei o código do suplemento fornecido no link acima para reduzir o tamanho do arquivo de vários megabytes para algumas centenas de k.

Jon Crowell
fonte
Estou usando o excel2010 e ele não funciona, simplesmente dá o erro "o excel não pode concluir esta tarefa com os recursos disponíveis. Escolha menos dados ou feche outros aplicativos"
adolf garlic
O link acima está morto. @adolfgarlic tentar o VBA solução
phuclv
@adolfgarlic Ele não funciona na versão de 32 bits do Excel, mas na versão de 64 bits que não impõe as mesmas limitações de memória. Infelizmente, depois de alterar minha versão de 32 para 64 bits, esta solução é executada - mas não resolve o problema.
t0mgs
@phuclv Bastante vivo, na verdade.
t0mgs
0

Verifique também se existem células com comentários nos quais a caixa de comentários foi arrastada para baixo, longe da célula. Você pode ter uma célula na segunda linha de uma planilha com um comentário cuja caixa de comentário esteja próxima à linha 7000 e que forçará o excel a tratar a linha 7000 como a última linha da planilha.

ivanatpr
fonte
0

Como o comentarista acima - eu tive esse mesmo problema ao ter mais de um milhão de linhas extras no meu documento do Excel, causado por comentários que acabavam muito longe da célula. Esta página possui um código VBA fácil que você pode usar para limpar seu documento, removê-lo e salvá-lo sem o código, e o problema será corrigido. https://www.extendoffice.com/documents/excel/2252-excel-reset-comment-positions.html

Mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.

Clique em Inserir> Módulo e cole o seguinte código na Janela do Módulo.

Código VBA: redefinir todas as posições de comentário na planilha ativa

1 Sub ResetComments()
2 'Update 20141110
3 Dim pComment As Comment
4 For Each pComment In Application.ActiveSheet.Comments
5   pComment.Shape.Top = pComment.Parent.Top + 5
6   pComment.Shape.Left = pComment.Parent.Offset(0, 1).Left + 5
7 Next
8 End Sub

Em seguida, pressione a tecla F5 para executar esse código e todas as posições de comentários na planilha ativa foram redefinidas de uma só vez.

Natalie
fonte