Tip: andere talen zijn Google-Vertaald. Je kunt het English versie van deze link.
Log in
x
or
x
x
Registreren
x

or

Hoe de grootte van elk werkblad van de werkmap te controleren?

Stel dat u een grote werkmap met meerdere werkbladen hebt en nu wilt u weten hoe groot elk werkblad is om te bepalen welk werkblad moet worden verkleind. Zijn er snelle methoden om met deze taak om te gaan?

Controleer de grootte van elk werkblad met VBA-code

Controleer de grootte van elk werkblad met Kutools voor Excel

Tabblad Office Schakel bewerken en browsen met tabbladen in Office in en maak uw werk veel eenvoudiger ...
Kutools voor Excel - De beste Office-productiviteitstool lost de meeste van uw Excel-problemen op
  • Alles hergebruiken: Voeg de meest gebruikte of complexe formules, grafieken en al het andere toe aan uw favorieten en hergebruik ze snel in de toekomst.
  • Meer dan 20-tekstfuncties: Nummer uit tekststring halen; Een deel van de tekst extraheren of verwijderen; Nummers en valuta's omzetten in Engelse woorden ...
  • Tools samenvoegen: Meerdere werkmappen en bladen in één; Meerdere cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Dubbele rijen en som samenvoegen ...
  • Split gereedschap: Gegevens splitsen in meerdere bladen op basis van waarde; Eén werkmap naar meerdere Excel-, PDF- of CSV-bestanden; Eén kolom naar meerdere kolommen ...
  • Plakken overslaan Verborgen / gefilterde rijen; Tel en som op achtergrondkleur; Maak een verzendlijst en Verzend e-mails op waarde van Cell...
  • Super filter: Maak geavanceerde filterschema's en pas deze toe op alle bladen; Soort per week, dag, frequentie en meer; filters door vetgedrukt, formules, commentaar ...
  • Meer dan 300 krachtige functies; Werkt met Office 2007-2019 en 365; Ondersteunt alle talen; Eenvoudig inzetbaar in bedrijf; Volledige functionaliteit 60-daagse gratis proefversie.

pijl blauwe rechterbel Controleer de grootte van elk werkblad met VBA-code


Met de volgende VBA-code kunt u snel de grootte van elk werkblad in uw werkmap krijgen. Doe alsjeblieft als volgt:

1. Houd de toets ingedrukt ALT + F11 toetsen, en het opent de Microsoft Visual Basic for Applications-venster.

2. Klikken bijvoegsel > moduleen plak de volgende code in de Module venster.

VBA-code: controleer de grootte van elk werkblad in een werkmap </ 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. Druk vervolgens op F5 sleutel om deze code uit te voeren, en een nieuw werkblad genaamd KutoolsforExcel wordt ingevoegd in de huidige werkmap die elke werkbladnaam en bestandsgrootte bevat en de eenheid is Bit. Zie screenshot:

doc-check-sheet-size1


pijl blauwe rechterbel Controleer de grootte van elk werkblad met Kutools voor Excel

Als je Kutools for Excel, Met Werkboek splitsen hulpprogramma, kunt u de hele werkmap in afzonderlijke bestanden splitsen en vervolgens naar de specifieke map gaan om de grootte van elk bestand te controleren.

Kutools for Excel bevat meer dan handige Excel-gereedschappen van 300. Gratis om te proberen zonder beperking in 30-dagen. Get it Now.

Na het installeren van Kutools voor Excel doet u met de volgende stappen:

1. Open de werkmap waarin u de grootte van elk werkblad wilt controleren en klik op Enterprise > Werkboek hulpmiddelen > Werkboek splitsenzie screenshot:

doc-check-sheet-size1

2. In de Werkboek splitsen dialoogvenster, controleer alle werkbladen en klik op spleet en geef vervolgens een map op om de nieuwe werkmapbestanden te plaatsen. Zie screenshots:

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

3. En vervolgens wordt elk werkblad van uw huidige werkmap opgeslagen als een afzonderlijk Excel-bestand. U kunt naar uw specifieke map gaan om de grootte van elke werkmap te controleren.

doc-check-sheet-size1

Om meer te weten over deze Split Werkboek-functie.


Gerelateerde artikelen:

Hoe een werkmap te splitsen om Excel-bestanden in Excel te scheiden?

Hoe bladen en werkbladen als nieuwe werkmap in Excel exporteren en opslaan?


Kutools voor Excel - De beste Office-productiviteitstool Verhoog uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Coderen van cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula Bar (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken op gefilterd bereik...
  • Cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Inhoud gesplitste cellen; Combineer dubbele rijen / kolommen... voorkomen dubbele cellen; Ranges vergelijken...
  • Selecteer Dupliceren of Uniek rijen; Selecteer Lege rijen (alle cellen zijn leeg); Super Find en Fuzzy Find in veel werkboeken; Willekeurig selecteren ...
  • Exacte kopie Meerdere cellen zonder formule-referentie te wijzigen; Automatisch referenties maken naar meerdere vellen; Voeg kogels toe, Selectievakjes en meer ...
  • extract Text, Tekst toevoegen, verwijderen op positie, Verwijder de spatie; Subtotalen voor paging maken en afdrukken; Converteren tussen cellen Inhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerde sortering per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functionaliteit 60-daagse gratis proefversie.
kte-tab 201905

Tabblad Office Brengt interface met tabbladen naar Office en maakt uw werk veel eenvoudiger

  • Bewerken en lezen met tabbladen inschakelen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en verlaagt dagelijks honderden muisklikken voor u!
Officetab onderaan
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Juliana · 5 months ago
    Very VeryVeryVeryVery helpful.
    Thank you!!
  • To post as a guest, your comment is unpublished.
    Ben S. · 3 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. · 3 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. · 3 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 · 3 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. · 3 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 · 5 years ago
    Very helpful.
    Thank you!!