Om du snabbt vill hämta datastorleken för varje kalkylblad i en Excel-arbetsbok kan du hänvisa till den här artikeln. Här delar vi två praktiska metoder med dig.
Ibland när du arbetar med en Excel-arbetsbok som består av en stor mängd kalkylblad kanske du vill få datastorleken för varje kalkylblad. Det finns dock inte en egen funktion för detta krav. Så du måste använda några lösningar, till exempel följande metod 1. Eller så kan du använda den mycket smartare metod 2 för att få alla kalkylblads datastorlekar i bulk.
Metod 1: Hämta kalkylbladsdatastorlek en efter en manuellt
- Först öppnar du den specifika Excel-arbetsboken.
- Kopiera sedan innehållet i ett Excel-kalkylblad.

- Skapa sedan en ny arbetsbok och klistra in det kopierade kalkylbladet i ark 1.
- Spara senare den nya arbetsboken i en Windows-mapp.
- Slutligen kan du kontrollera den nya arbetsbokens datastorlek, lika med kalkylbladets datastorlek, i Windows Explorer, som visas i följande skärmdump.
- Nu kan du använda detta sätt för att få datastorlekarna för andra kalkylblad en efter en.
Metod 2: Batch Skaffa datastorlekarna för alla kalkylblad via VBA
- Till att börja med öppnar du Excel VBA-redigeraren enligt “Så här kör du VBA-kod i din Excel".
- Lägg sedan in följande kod i ett projekt eller en modul.
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 = "Sheet Sizes"
strTempWorkbook = ThisWorkbook.Path & "\Temp Workbook.xls"
With ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1))
.Name = strTargetSheetName
.Cells(1, 1) = "Sheet"
.Cells(1, 1).Font.Size = 14
.Cells(1, 1).Font.Bold = True
.Cells(1, 2) = "Size"
.Cells(1, 2).Font.Size = 14
.Cells(1, 2).Font.Bold = True
End With
Set objTargetWorksheet = Application.Worksheets(strTargetSheetName)
For Each objWorksheet In Application.ActiveWorkbook.Worksheets
If 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
With objTargetWorksheet
.Cells(nLastEmptyRow, 1) = objWorksheet.Name
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
End With
Kill strTempWorkbook
End If
Next
End Sub
- Tryck därefter på "F5" för att köra det här makrot direkt.
- Så småningom, när makro är klar, tillbaka till arbetsboken.
- Du ser ett nytt kalkylblad i början, som innehåller storleken på varje kalkylblad, som följande bild.
Jämförelse
| Fördelar | Nackdelar | |
| Förfarande 1 | Enkel att använda | För besvärligt om det finns för många kalkylblad i den aktuella arbetsboken |
| Förfarande 2 | Enkelt och bekvämt oavsett hur många kalkylblad som finns i arbetsboken | Kanske är ovanstående VBA-kod lite obegriplig för nybörjare |
Åtgärda upprörande PST-problem
Användare kan stöta på alla möjliga störande problem i MS Excel, allt från oväntad avstängning eller omstart till allvarliga xlsx korruptionDet mest knepiga problemet är utan tvekan en skadad Excel-fil, eftersom den inte kan lösas enkelt. Det kräver att du använder ett externt Excel-fixeringsverktyg, som till exempel. DataNumen Excel Repair.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive korrupta SQL Server och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com




