arquivo do Excel inchado

2

Alguém me envia um arquivo do Excel com 10 MB, o que nos causa problemas de e-mail. Quando .zip'ed vai para menos de 1MB, então presumivelmente há algo errado com a planilha do Excel, mas existe alguma maneira de reduzir o tamanho do arquivo do Excel sem compactá-lo?

Eu tenho uma variedade de versões do Excel disponíveis para mim pelo caminho.

    
por Chopper3 25.04.2012 / 16:51

3 respostas

6

Se houver espaço que possa ser 'recuperado', existem várias coisas diferentes que você pode tentar:

  1. Redefina todos os intervalos usados em cada pasta de trabalho. Isso pode ser feito usando um método VBA como este:

    Public Sub ResetAllLastCells()
    
    Dim wks As Worksheet
    Dim i As Long
    
    For Each wks In ActiveWorkbook.Worksheets
        i = wks.UsedRange.Rows.Count
    Next wks
    
    End Sub
    
  2. Remova todos os estilos personalizados indesejados. Eu uso um método VBA como abaixo para remover todos os estilos personalizados:

    Public Sub StyleKill()
    
    Dim s As Style
    
    For Each s In ActiveWorkbook.Styles
        If Not s.BuiltIn Then
            s.Delete
        End If
    Next s
    
    End Sub
    
  3. Se houver um código VBA dentro da pasta de trabalho, tente salvá-lo de forma decomposta. Você pode fazer isso abrindo a pasta de trabalho, abrir o VBE, fazer uma pequena alteração (adicionar espaço em branco ou algo assim) e, em seguida, sem compilar o projeto, salve a pasta de trabalho. Isso pode reduzir drasticamente o tamanho do arquivo.

Tenho certeza de que também existem outras maneiras, mas essas são minhas maneiras testadas e comprovadas. Em uma pasta de trabalho, isso reduz consistentemente o tamanho do arquivo de ~ 15mb para 10mb.

    
por 25.04.2012 / 17:47
2

Na minha experiência, o motivo mais comum para isso é linhas em branco que estão dentro do intervalo usado no Excel. Exclua as linhas em branco abaixo do intervalo que você realmente usou (clique com o botão direito do mouse à esquerda e exclua as linhas inteiras, não apenas limpe o conteúdo), se isso não reduzir o tamanho, use uma macro como esta:

Sub DeleteBlankRows()

Cells.Select
Dim i As Long

    With Application
        .Calculation = xlCalculationManual
        .ScreenUpdating = False

    For i = Selection.Rows.Count To 1 Step -1
        If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then
            Selection.Rows(i).EntireRow.Delete
        End If
    Next i

        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
End Sub
    
por 21.08.2015 / 16:07
0

As outras respostas estão corretas, mas use scripts VB. Se você não quiser usar scripts ou se for apenas para uma situação única, também poderá excluir manualmente o espaço não utilizado:

  • Selecione qualquer célula dentro do seu conteúdo da sua planilha
  • Pressione Ctrl + Home no teclado para selecionar a última célula usada no lado inferior direito
  • Desloque-se para a última célula "real" no canto inferior direito do seu conteúdo
  • Mantenha pressionado Shift e clique na célula abaixo ou à direita, dependendo do layout não usado
  • Clique com o botão direito do mouse dentro da área marcada e escolha Delete Rows ou Delete Columns , novamente dependendo do layout

Você pode ter que repetir essas etapas se quiser excluir linhas e colunas simultaneamente.

    
por 08.07.2016 / 14:21