Se você deseja obter rapidamente o tamanho dos dados de cada planilha em uma pasta de trabalho do Excel, consulte este artigo. Aqui, compartilharemos 2 métodos úteis com você.
Às vezes, ao lidar com uma pasta de trabalho do Excel que consiste em uma grande quantidade de planilhas, você pode querer obter o tamanho dos dados de cada planilha. No entanto, não há um recurso nativo para esse requisito. Portanto, você precisa usar algumas soluções alternativas, como o seguinte Método 1. Ou você pode usar o Método 2, muito mais inteligente, para obter todos os tamanhos de dados das planilhas em massa.
Método 1: obter manualmente o tamanho dos dados da planilha um por um
- Primeiro, abra a pasta de trabalho específica do Excel.
- Em seguida, copie o conteúdo de uma planilha do Excel.
- Em seguida, crie uma nova pasta de trabalho e cole a planilha copiada na Planilha 1.
- Posteriormente, salve a nova pasta de trabalho em uma pasta do Windows.
- Por fim, você pode verificar o tamanho dos dados da nova pasta de trabalho, igual ao tamanho dos dados da planilha, no Windows Explorer, conforme mostrado na captura de tela a seguir.
- Agora, você pode usar esse método para obter os tamanhos de dados de outras planilhas, um por um.
Método 2: lote obter os tamanhos de dados de todas as planilhas via VBA
- Para começar, abra o editor Excel VBA de acordo com “Como executar o código VBA no seu Excel".
- Em seguida, coloque o código a seguir em um projeto ou módulo.
Sub GetCadaWorksheetSize() Dim strTargetSheetName As String Dim strTempWorkbook As String Dim objTargetWorksheet As Worksheet Dim objWorksheet As Worksheet Dim objRange As Range Dim i As Long Dim nLastEmptyRow As Integer strTargetSheetName = "Tamanhos de folha" strTempWorkbook = ThisWorkbook.Path & "\Temp Workbook.xls" With ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1)) .Name = strTargetSheetName .Cells(1, 1) = "Planilha" .Cells(1, 1).Font.Size = 14 .Cells(1, 1).Font.Bold = True .Cells(1, 2) = "Tamanho" . Cells(1, 2).Font.Size = 14 .Cells(1, 2).Font.Bold = True End With Set objTargetWorksheet = Application.Worksheets(strTargetSheetName) para cada objWorksheet em Application.ActiveWorkbook.Worksheets Se objWorksheet.Name <> strTargetSheetName Then objWorksheet.Copy Application.ActiveWorkbook.SaveAs strTempWorkbook Application.ActiveWorkbook.Close SaveChanges:=False nLastEmptyRow = objTargetWorksheet.Range("A" & objTargetWorksheet.Rows.Count).End(xlUp).Row + 1 Com objTargetWorksheet .Cells(nLastEmptyRow, 1) = objWorksheet.Name .Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook) End With Kill strTempWorkbook End If Next End Sub
- Depois disso, pressione “F5” para executar esta macro imediatamente.
- Eventualmente, após a conclusão da macro, volte para a pasta de trabalho.
- Você verá uma nova planilha logo no início, que contém o tamanho de cada planilha, como na imagem a seguir.
Comparação
Diferenciais | Desvantagens | |
Método 1 | Fácil de operar | Muito problemático se houver muitas planilhas na pasta de trabalho atual |
Método 2 | Fácil e conveniente, não importa quantas planilhas existam na pasta de trabalho | Talvez o código VBA acima seja um pouco incompreensível para iniciantes |
Corrigir problemas irritantes de PST
Os usuários podem encontrar todos os tipos de problemas perturbadores no MS Excel, desde desligamento inesperado ou restart para grave xlsx corrupção. Inquestionavelmente, o most O problema complicado é um arquivo do Excel danificado, pois não pode ser resolvido facilmente. Exige que você aplique uma ferramenta externa de correção do Excel, como DataNumen Excel Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo corrupto SQL Server e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com
Olá, acho que percebi que você visitou meu site e vim retornar a preferência?.Estou tentando encontrar coisas para melhorar meu site!Acho que é adequado usar alguns de seus conceitos!!
aparece a mensagem de erro 1004: não é possível copiar a planilha
se meu arquivo excel tiver o total de 10 planilhas e a planilha visível for três, algum erro??
por favor ajude a melhorar a codificação.
Funcionou perfeitamente depois que mostrei todas as guias. Qual é a unidade de tamanho de armazenamento aqui? Supondo que seja Bits, mas quero ter certeza. Obrigado!
Parece que não funciona se houver guias ocultas, verifique se todas as guias estão visíveis e deve estar tudo bem
Sim, definitivamente não está funcionando. Observe o mesmo problema que os outros.
Por favor corrija!
obter um erro nesta linha….
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
Não está funcionando para mim. Erro na linha acima do código.
Isto não funcionou para mim. O erro está aqui ” .Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)”
O que exatamente significam os números resultantes deste Método 2?
Eu tenho dois arquivos Excel .xlsx salvos com dados de um modelo. Têm usado o mesmo modelo nos últimos 2 anos. Mesmo número de planilhas (14). Tamanhos de folha de arquivo menores somam 11610591 e são 6681 KB, conforme relatado pelo Windows. Tamanhos de folha de arquivo maiores somam 11717397 e são 25471 KB, conforme relatado pelo Windows.
Este tamanho de arquivo maior apenas started acontecendo nos últimos 3 dias.
Muito obrigado, sem problemas ao executar
O mesmo para mim.
Atenciosamente
Não funciona Ele para em objWorksheet.Copy