Se queres obter rapidamente o tamaño dos datos de cada folla de traballo nun libro de Excel, podes consultar este artigo. Aquí compartiremos 2 métodos prácticos contigo.
Ás veces, cando se trata dun libro de Excel que consta dunha gran cantidade de follas de traballo, pode querer obter o tamaño dos datos de cada folla de traballo. Non obstante, non hai unha función nativa para este requisito. Polo tanto, cómpre usar algunhas solucións, como o seguinte Método 1. Ou pode usar o Método 2, moito máis intelixente, para obter os tamaños de datos de todas as follas de traballo en masa.
Método 1: Obter o tamaño da folla de traballo un por un manualmente
- Nun primeiro momento, abra o libro de traballo específico de Excel.
- A continuación, copie o contido dunha folla de cálculo de Excel.
- A continuación, cree un novo libro de traballo e pegue a folla de traballo copiada na folla 1.
- Máis tarde, garda o novo libro nun cartafol de Windows.
- Por último, pode comprobar o tamaño dos datos do novo libro de traballo, igual ao tamaño dos datos da folla de traballo, no Explorador de Windows, como se mostra na seguinte captura de pantalla.
- Agora, pode usar este xeito para obter os tamaños de datos doutras follas de traballo unha por unha.
Método 2: Lote Obter os tamaños de datos de todas as follas de traballo a través de VBA
- Para comezar, abra o editor de Excel VBA segundo "Como executar o código VBA no teu Excel".
- A continuación, introduza o seguinte código nun proxecto ou módulo.
Sub GetEachWorksheetSize() 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 = "Tamaños das follas" strTempWorkbook = ThisWorkbook.Path & "\Temp Workbook.xls" With ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1)) .Name = strTargetSheetName .Cells(1, 1) = "Folla" .Cells(1, 1).Font.Size = 14 .Cells(1, 1).Font.Bold = True .Cells(1, 2) = "Tamaño" . Celas (1, 2). Font.Size = 14 .Cells (1, 2).Font.Bold = True End With Set objTargetWorksheet = Aplicación.Follas de traballo (strTargetSheetName) Para cada objWorksheet en Application.ActiveWorkbook.Worksheets If objWorksheet.Name <> strTargetSheetName Then objWorksheet.Copy Application.ActiveWorkbook.SaveAs strTempWorkbook Application.ActiveWorkbook.Close SaveChanges:=False nLastEmptyRow = objTargetWorksheet.Range("A" e objTargetWorksheet.Rows.Count).End(xlUp).Row + 1 Con objTargetWorksheet .Cells(nLastEmptyRow, 1) = objWorksheet.Name .Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook) Finalizar con Kill strTempWorkbook End If Next End Sub
- Despois diso, prema "F5" para executar esta macro inmediatamente.
- Finalmente, despois de rematar a macro, volve ao libro de traballo.
- Verás unha nova folla de traballo ao principio, que contén o tamaño de cada folla de traballo, como a seguinte imaxe.
comparación
vantaxes | Desvantaxes | |
Método 1 | Doado de operar | Demasiado problemático se hai demasiadas follas de traballo no caderno de traballo actual |
Método 2 | Doado e cómodo sen importar cantas follas de traballo haxa no libro de traballo | Quizais o código VBA anterior sexa un pouco incomprensible para os novatos |
Corrixir problemas exasperantes de PST
Os usuarios poden atopar todo tipo de problemas perturbadores en MS Excel, que van desde apagado inesperado ou restart a grave corrupción xlsx. Sen dúbida, o most O problema nodoso é un ficheiro Excel danado xa que non se pode resolver facilmente. Esixe que aplique unha ferramenta de corrección de Excel externa, como DataNumen Excel Repair.
Introdución do autor:
Shirley Zhang é unha experta en recuperación de datos DataNumen, Inc., que é o líder mundial en tecnoloxías de recuperación de datos, incluíndo corrupto SQL Server e produtos de software de reparación de Outlook. Para máis información visite www.datanumen.com
Ola, creo que me decatei de que visitaches o meu sitio, polo que cheguei aquí para devolver o prefire?. Estou tentando atopar problemas para mellorar o meu sitio! Creo que é adecuado para facer uso dalgúns dos teus conceptos!!
aparece a mensaxe de erro 1004: non se pode copiar a folla de traballo
Se o meu ficheiro Excel ten o total de 10 follas de traballo e a folla de traballo visible é tres, hai algún erro?
por favor, axude a mellorar a codificación.
Funcionou perfectamente despois de que descubrase todas as pestanas. Cal é o tamaño da unidade de almacenamento aquí? Asumindo que é Bits pero quero estar seguro. Grazas!
Parece que non funciona se hai pestanas ocultas, asegúrate de que todas as pestanas estean visibles e debería estar ben
Si, definitivamente non funciona. Observa o mesmo problema que os demais.
Corrixe por favor!
obtén un erro nesta liña...
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
Non funciona para min. Erro na liña anterior do código.
Isto NON funcionou para min. O erro está aquí ".Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)"
Que significan exactamente os números resultantes deste Método 2?
Teño dous ficheiros de Excel .xlsx gardados con datos dun modelo. Utilizou o mesmo modelo nos últimos 2 anos. Mesmo número de follas de traballo (14). Os tamaños máis pequenos das follas de ficheiros suman 11610591 e son 6681 KB, segundo informa Windows. Os tamaños máis grandes das follas de ficheiros suman 11717397 e son 25471 KB, segundo informa Windows.
Este tamaño de ficheiro maior só starocorreu nos últimos 3 días.
Moitas grazas, sen problemas ao correr
O mesmo para min.
Saúdos
Non funciona Detense en objWorksheet.Copy