Vpiši se  \/ 
x
or
x
Registracija  \/ 
x

or

Kako preveriti velikost vsakega delovnega lista delovnega zvezka?

Recimo, da imate velik delovni zvezek, ki vsebuje več delovnih listov, in zdaj želite ugotoviti velikost vsakega delovnega lista, da določite, kateri list je treba zmanjšati. Ali obstajajo kakšne hitre metode za reševanje te naloge?

Velikost vsakega delovnega lista preverite s kodo VBA

Velikost vsakega delovnega lista preverite s programom Kutools za Excel

Kartica Office Omogočite urejanje in brskanje z zavihki v storitvi Office ter olajšajte svoje delo ...
Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%
  • Ponovno uporabi vse: Med priljubljene dodajte najbolj uporabljene ali zapletene formule, grafikone in kar koli drugega ter jih v prihodnosti hitro ponovno uporabite.
  • Več kot 20 besedilnih funkcij: Izvleček številke iz besedilnega niza; Izvleči ali odstrani del besedil; Pretvorite številke in valute v angleške besede.
  • Združi orodja: Več delovnih zvezkov in listov v eno; Združi več celic / vrstic / stolpcev brez izgube podatkov; Združi podvojene vrstice in vsoto.
  • Razdeljena orodja: Razdeli podatke na več listov na podlagi vrednosti; En delovni zvezek v več datotek Excel, PDF ali CSV; En stolpec na več stolpcev.
  • Prilepi preskoči Skrite / filtrirane vrstice; Štetje in vsota glede na Barva ozadja; V večjem obsegu pošiljajte osebna e-poštna sporočila več prejemnikom.
  • Super filter: Ustvarite napredne filtrirne sheme in uporabite za vse liste; Razvrščanje po tednih, dnevih, pogostosti in še več; filter s krepkim tiskom, formule, komentar ...
  • Več kot 300 zmogljivih funkcij; Deluje s sistemoma Office 2007-2019 in 365; Podpira vse jezike; Preprosta namestitev v vašem podjetju ali organizaciji.

puščica modri desni mehurček Velikost vsakega delovnega lista preverite s kodo VBA


Z naslednjo kodo VBA lahko hitro dobite velikost vsakega delovnega lista v vašem delovnem zvezku. Naredite to:

1. Držite tipko ALT + F11 in odpre tipko Okno Microsoft Visual Basic for Applications.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: preverite velikost vsakega delovnega lista v delovnem zvezku </ 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. Nato pritisnite F5 tipko za izvajanje te kode in nov delovni list z imenom KutoolsforExcel bo vstavljen v trenutni delovni zvezek, ki vsebuje ime vsakega delovnega lista in velikost datoteke, enota pa je Bit. Oglejte si posnetek zaslona:

doc-check-sheet-size1


puščica modri desni mehurček Velikost vsakega delovnega lista preverite s programom Kutools za Excel

Če imate Kutools za Excel, Z njegovim Razdeljeni delovni zvezek Celoten delovni zvezek lahko razdelite na ločene datoteke in nato odprete določeno mapo, da preverite velikost posamezne datoteke.

Kutools za Excel vključuje več kot 300 priročnih orodij Excel. Brezplačno poskusite brez omejitev v 30 dneh. Get it now.

Po namestitvi Kutools za Excel naredite naslednje:

1. Odprite delovni zvezek, za katerega želite preveriti velikost vsakega delovnega lista, in kliknite Podjetje > Orodja za delovne zvezke > Razdeljeni delovni zvezek, glej posnetek zaslona:

doc-check-sheet-size1

2. v Razdeljeni delovni zvezek pogovorno okno, preverite vse delovne liste in kliknite Split in nato določite mapo, v katero želite shraniti nove datoteke delovnega zvezka. Oglejte si posnetke zaslona:

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

3. Nato se bo vsak delovni list vašega trenutnega delovnega zvezka shranil kot ločena Excelova datoteka. Odprite svojo mapo in preverite velikost vsakega delovnega zvezka.

doc-check-sheet-size1

Če želite izvedeti več o tej funkciji Split Workbook.


Sorodni članki:

Kako razdeliti delovni zvezek za ločevanje Excelovih datotek v Excelu?

Kako izvoziti in shraniti liste in delovne liste kot nov delovni zvezek v Excelu?


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2019 in 365. Podpira vse jezike. Preprosta namestitev v vašem podjetju ali organizaciji. Vse funkcije 30-dnevnega brezplačnega preskusa. 60-dnevno jamstvo za vračilo denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50% in vsak dan zmanjša na stotine klikov z miško!
dno pisarniške mize
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Anson · 9 months ago
    Thank you, very helpful,
    I had a bunch of unnecessary formulas in a sheet and i just deleted that the file now works fine.
    All these happen only because i could find the size of each sheet,
    Thanks again.

    Anson
  • To post as a guest, your comment is unpublished.
    Juliana · 1 years ago
    Very VeryVeryVeryVery helpful.
    Thank you!!
  • To post as a guest, your comment is unpublished.
    Ben S. · 4 years ago
    ' Part 3 of 3
    '--- paste break ---

    ' Format the output sheet
    Application.Sheets(xOutName).Activate
    Columns("B:B").Select
    Selection.NumberFormat = "#,##0_);(#,##0)"
    Columns("A:B").Select
    Columns("A:B").EntireColumn.AutoFit
    Range("A1").Select
    ' Even better, format it as a table.
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:B" & xIndex), , xlYes).Name = "WorksheetSizes"

    Application.ScreenUpdating = True
    Application.Application.DisplayAlerts = True
    Application.StatusBar = ""
    Application.Cursor = xlDefault

    Exit Sub

    ErrorHandler:

    MsgBox "Error #" & Err.Number & " - " & Err.Description & vbCrLf & "in procedure WorksheetSizes"

    End Sub
  • To post as a guest, your comment is unpublished.
    Ben S. · 4 years ago
    ' Part 2 of 3

    '--- paste break ---

    xWs.Visible = xlSheetVisible
    ' xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls"
    xWs.CopyQ
    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

    ' Repeat the above for chart sheets.
    For Each xWs In Application.ActiveWorkbook.Charts
    If xWs.Name xOutName Then
    Application.StatusBar = "Calculating Worksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name
    Debug.Print "Calculating Worksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name
    DoEvents ' include this so CTRL+Break can be detected.

    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))
    'Kill xOutFile

    xIndex = xIndex + 1
    End If
    Next

    '--- paste break ---
  • To post as a guest, your comment is unpublished.
    Ben S. · 4 years ago
    Here is a copy of the routine with a few enhancements I added. I had to break it into multiple posts due to the site limits.

    Public Sub WorksheetSizes()
    'Update 20140526
    ' https://www.extendoffice.com/documents/excel/1682-excel-check-size-of-each-sheet.html
    '
    ' BS 4/4/2016: Modified to have a status bar and format the output.
    ' Fixed for hidden sheets that caused it to crash.
    ' Added support for Chart sheets

    Dim xWs As Object ' Worksheet or Chart
    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"
    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

    Debug.Print ThisWorkbook.Path

    For Each xWs In Application.ActiveWorkbook.Worksheets
    If xWs.Name xOutName Then
    Application.StatusBar = "Calculating Worksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name
    Debug.Print "Calculating Worksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name
    DoEvents ' include this so CTRL+Break can be detected.
    '--- paste break ---
  • To post as a guest, your comment is unpublished.
    Bob M · 4 years ago
    Hey Ben,
    Could you repaste the whole string of text with items #2 and #4 from your email added in? MY VBA knowledge is pretty limited and I'm not sure exactly where to add them into the For loop. My workbook has a number of hidden sheets and keeps crashing during the macro execution.

    Thanks,
    Bob
  • To post as a guest, your comment is unpublished.
    Ben S. · 4 years ago
    Thanks for providing the code snippet to the public. It's one of the better routines I found. Here are a few tweaks to it:
    1) Add "Dim xIndex as Long" to the top if you're using Option Explicit.
    2) Add this inside the For loop to handle hidden sheets (otherwise it crashes): xWs.Visible = xlSheetVisible
    3) If you have full page "chart" sheets, you need to copy the code for the loop and iterate through the Application.ActiveWorkbook.Charts collection. If you do this, change the declaration of xWs from "Sheet" to "Object".
    4) For a cheap status indicator (or for debugging issues) add this line inside the For loop: Debug.Print "Calculating Worksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name
  • To post as a guest, your comment is unpublished.
    Anand · 6 years ago
    Very helpful.
    Thank you!!