Ir para o conteúdo principal
Note: The other languages of the website are Google-translated. Back to English

Como verificar o tamanho de cada planilha da pasta de trabalho?

Suponha que você tenha uma grande pasta de trabalho que contém várias planilhas e, agora, deseja descobrir o tamanho de cada planilha para determinar qual planilha precisa ser reduzida. Existem métodos rápidos para lidar com essa tarefa?

Verifique o tamanho de cada planilha com o código VBA

Verifique o tamanho de cada planilha com Kutools for Excel


seta azul bolha direita Verifique o tamanho de cada planilha com o código VBA

Com o código VBA a seguir, você pode obter rapidamente o tamanho de cada planilha em sua pasta de trabalho. Por favor, faça o seguinte:

1. Segure o ALT + F11 chaves, e abre o Janela Microsoft Visual Basic for Applications.

2. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.

Código VBA: verifique o tamanho de cada planilha em uma pasta de trabalho </ p>

Sub WorksheetSizes()
'Update 20140526
Dim xWs As Worksheet
Dim Rng As Range
Dim xOutWs As Worksheet
Dim xOutFile As String
Dim xOutName As String
xOutName = "KutoolsforExcel"
xOutFile = ThisWorkbook.Path & "\TempWb.xls"
On Error Resume Next
Application.DisplayAlerts = False
Err = 0
Set xOutWs = Application.Worksheets(xOutName)
If Err = 0 Then
    xOutWs.Delete
    Err = 0
End If
With Application.ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1))
    .Name = xOutName
    .Range("A1").Resize(1, 2).Value = Array("Worksheet Name", "Size")
End With
Set xOutWs = Application.Worksheets(xOutName)
Application.ScreenUpdating = False
xIndex = 1
For Each xWs In Application.ActiveWorkbook.Worksheets
    If xWs.Name <> xOutName Then
        xWs.Copy
        Application.ActiveWorkbook.SaveAs xOutFile
        Application.ActiveWorkbook.Close SaveChanges:=False
        Set Rng = xOutWs.Range("A1").Offset(xIndex, 0)
        Rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile))
        Kill xOutFile
        xIndex = xIndex + 1
    End If
Next
Application.ScreenUpdating = True
Application.Application.DisplayAlerts = True
End Sub

3. Então aperte F5 chave para executar este código, e uma nova planilha chamada KutoolsforExcel será inserido na pasta de trabalho atual que contém cada nome de planilha e tamanho de arquivo, e a unidade é Bit. Veja a imagem:

doc-check-sheet-size1


seta azul bolha direita Verifique o tamanho de cada planilha com Kutools for Excel

Se você tem Kutools for Excel, Com o seu Dividir a pasta de trabalho utilitário, você pode dividir toda a pasta de trabalho em arquivos separados e, em seguida, ir para a pasta específica para verificar o tamanho de cada arquivo.

Kutools for Excel inclui mais de 300 ferramentas úteis do Excel. Gratuito para testar sem limitação em 30 dias. Get it Now.

Depois de instalar Kutools for Excel, siga os seguintes passos:

1. Abra a pasta de trabalho da qual deseja verificar o tamanho de cada planilha e clique em Empreendimento > Ferramentas de pasta de trabalho > Dividir a pasta de trabalho, veja a captura de tela:

doc-check-sheet-size1

2. No Dividir a pasta de trabalho caixa de diálogo, verifique todas as planilhas e clique em Split e, em seguida, especifique uma pasta para colocar os novos arquivos da pasta de trabalho. Veja as capturas de tela:

doc-check-sheet-size3
-1
doc-check-sheet-size4

3. E então cada planilha de sua pasta de trabalho atual será salva como um arquivo Excel separado, você pode ir para sua pasta específica para verificar o tamanho de cada pasta de trabalho.

doc-check-sheet-size1

Para saber mais sobre este recurso Split Workbook.


Artigos relacionados:

Como dividir uma pasta de trabalho para separar arquivos do Excel no Excel?

Como exportar e salvar planilhas e planilhas como nova pasta de trabalho no Excel?


As melhores ferramentas de produtividade para escritório

Kutools for Excel Resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Office Tab Traz a interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (9)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Muito útil. Obrigada!!
Este comentário foi feito pelo moderador no site
Agradecemos por fornecer o snippet de código ao público. É uma das melhores rotinas que encontrei. Aqui estão alguns ajustes: 1) Adicione "Dim xIndex as Long" ao topo se você estiver usando Option Explicit. 2) Adicione isso dentro do loop For para lidar com planilhas ocultas (caso contrário, ele trava): xWs.Visible = xlSheetVisible 3) Se você tiver planilhas de "gráfico" de página inteira, precisará copiar o código para o loop e iterar pelo aplicativo. Coleção ActiveWorkbook.Charts. Se você fizer isso, altere a declaração de xWs de "Sheet" para "Object". 4) Para um indicador de status barato (ou para problemas de depuração), adicione esta linha dentro do loop For: Debug.Print "Calculating Worksheet Sizes, Sheet" & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name
Este comentário foi feito pelo moderador no site
Ei Ben, você poderia colar novamente toda a sequência de texto com os itens #2 e #4 do seu e-mail adicionados? MEU conhecimento de VBA é bastante limitado e não sei exatamente onde adicioná-los ao loop For. Minha pasta de trabalho tem várias planilhas ocultas e continua travando durante a execução da macro. Obrigado, Bob
Este comentário foi feito pelo moderador no site
Aqui está uma cópia da rotina com alguns aprimoramentos que adicionei. Eu tive que dividi-lo em vários posts devido aos limites do site. Public Sub WorksheetSizes() 'Atualizar 20140526 ' https://www.extendoffice.com/documents/excel/1682-excel-check-size-of-each-sheet.html<br />' ' BS 4/4/2016: Modificado para ter uma barra de status e formatar a saída. ' Corrigido para planilhas ocultas que causavam travamento. ' Adicionado suporte para planilhas de gráficos Dim xWs As Object ' Planilha ou gráfico Dim rng As Range Dim xOutWs As Worksheet Dim xOutFile As String Dim xOutName As String Dim xIndex As Long On Error GoTo ErrorHandler Application.Cursor = xlWait xOutName = "KutoolsforExcel" xOutFile = ThisWorkbook.Path & "\TempWb.xls" No erro Resume Next Application.DisplayAlerts = False Err = 0 Defina xOutWs = Application.Worksheets(xOutName) Se Err = 0 Então xOutWs.Delete Err = 0 End If With Application .ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1)) .Name = xOutName .Range("A1").Resize(1, 2).Value = Array("Nome da Planilha", "Tamanho") End With Set xOutWs = Application.Worksheets(xOutName) Application.ScreenUpdating = False xIndex = 1 Debug.Print ThisWorkbook.Path For Each xWs In Application.ActiveWorkbook.Worksheets If xWs.Name xOutName Then Application.StatusBar = "Calcating Worksheet Sizes, Sheet" & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug.Print "Calculando tamanhos de planilha, planilha " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' inclua isso para que CTRL+Break possa ser detectado. '--- colar quebra ---
Este comentário foi feito pelo moderador no site
' Parte 2 de 3 '--- colar break --- xWs.Visible = xlSheetVisible ' xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls" xWs.CopyQ Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook .Fechar SaveChanges:=False Definir rng = xOutWs.Range("A1").Offset(xIndex, 0) rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile)) Matar xOutFile xIndex = xIndex + 1 End If Next ' Repita o procedimento acima para planilhas de gráficos. Para cada xWs em Application.ActiveWorkbook.Charts Se xWs.Name xOutName Então Application.StatusBar = "Calculando tamanhos de planilha, planilha " & xIndex & " de " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug. Imprima "Calculando tamanhos de planilha, planilha " & xIndex & " de " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' inclua isso para que CTRL+Break possa ser detectado. xWs.Visible = xlSheetVisible xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls" xWs.Copy Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook.Close SaveChanges:=False Set rng = xOutWs.Range("A1 "). Offset(xIndex, 0) rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile)) 'Matar xOutFile xIndex = xIndex + 1 End If Next '--- paste break ---
Este comentário foi feito pelo moderador no site
' Parte 3 de 3 '--- paste break --- ' Formate a folha de saída Application.Sheets(xOutName).Activate Columns("B:B").Select Selection.NumberFormat = "#,##0_);( #,##0)" Columns("A:B").Select Columns("A:B").EntireColumn.AutoFit Range("A1").Select ' Ainda melhor, formate-o como uma tabela. ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:B" & xIndex), , xlYes).Name = "WorksheetSizes" Application.ScreenUpdating = Verdadeiro Application.Application.DisplayAlerts = Verdadeiro Application.StatusBar = "" Application.Cursor = xlDefault Exit Sub ErrorHandler: MsgBox "Error #" & Err.Number & " - " & Err.Description & vbCrLf & "no procedimento WorksheetSizes" End Sub
Este comentário foi feito pelo moderador no site
Muito Muito Muito Muito Muito útil.
Obrigado!!
Este comentário foi feito pelo moderador no site
Obrigado, muito útil,
Eu tinha um monte de fórmulas desnecessárias em uma planilha e acabei de excluir que o arquivo agora funciona bem.
Tudo isso acontece apenas porque eu consegui encontrar o tamanho de cada folha,
Obrigado novamente.

Anson
Este comentário foi feito pelo moderador no site
Provavelmente deve adicionar isso entre as linhas 9 e 10 caso algumas planilhas estejam ocultas para evitar que o código falhe
Para cada xWs nas planilhas: xWs.Visible = True: Next
Não há comentários postados aqui ainda