Note: The other languages of the website are Google-translated. Back to English

Hoe controleer ik de grootte van elk werkblad van een werkmap?

Stel dat u een grote werkmap heeft met meerdere werkbladen, en nu wilt u de grootte van elk werkblad weten om te bepalen welk blad 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


pijl blauw rechts bel 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 dit als volgt:

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

2. Klikken Invoegen > Moduleen plak de volgende code in het 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 met de naam KutoolsvoorExcel wordt ingevoegd in de huidige werkmap die elk werkbladnaam en bestandsgrootte bevat, en de eenheid is Bit. Zie screenshot:

doc-check-sheet-size1


pijl blauw rechts bel Controleer de grootte van elk werkblad met Kutools voor Excel

Als je Kutools for Excel, Met Werkmap 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 300 handige Excel-tools. Gratis te proberen zonder beperking binnen 30 dagen. Get it Now.

Na het installeren van Kutools voor Excel, voert u de volgende stappen uit:

1. Open de werkmap waarvan u de grootte van elk werkblad wilt controleren en klik op Enterprise > Werkmap Tools > Werkmap splitsen, zie screenshot:

doc-check-sheet-size1

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

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

3. En dan 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 Workbook-functie.


Gerelateerde artikelen:

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

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


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren 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-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, 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 vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (9)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Erg behulpzaam. Dank u!!
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor het verstrekken van het codefragment aan het publiek. Het is een van de betere routines die ik heb gevonden. Hier zijn een paar aanpassingen: 1) Voeg "Dim xIndex as Long" toe aan de bovenkant als je Option Explicit gebruikt. 2) Voeg dit toe aan de For-lus om verborgen bladen af ​​te handelen (anders crasht het): xWs.Visible = xlSheetVisible 3) Als u paginagrote "diagram"-bladen hebt, moet u de code voor de lus kopiëren en door de toepassing heen doorlopen. ActiveWorkbook.Charts-collectie. Als u dit doet, wijzigt u de declaratie van xW's van "Blad" in "Object". 4) Voeg voor een goedkope statusindicator (of voor foutopsporingsproblemen) deze regel toe aan de For-lus: Debug.Print "Calculating Worksheet Sizes, Sheet" & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Naam
Deze opmerking is gemaakt door de moderator op de site
Hey Ben, Kun je de hele tekstreeks opnieuw plakken met items #2 en #4 uit je e-mail toegevoegd? MIJN VBA-kennis is vrij beperkt en ik weet niet precies waar ik ze moet toevoegen aan de For-lus. Mijn werkmap heeft een aantal verborgen bladen en blijft crashen tijdens de uitvoering van de macro. Bedankt, Bob
Deze opmerking is gemaakt door de moderator op de site
Hier is een kopie van de routine met een paar verbeteringen die ik heb toegevoegd. Ik moest het in meerdere berichten opdelen vanwege de sitelimieten. Openbaar subwerkbladSizes() 'Update 20140526' https://www.extendoffice.com/documents/excel/1682-excel-check-size-of-each-sheet.html<br />' ' BS 4/4/2016: Aangepast om een ​​statusbalk te hebben en de uitvoer te formatteren. ' Opgelost voor verborgen bladen waardoor het crashte. ' Ondersteuning toegevoegd voor diagrambladen Dim xWs As Object ' Werkblad of grafiek 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 Hervat volgende toepassing.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") Eindigen met 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 = "Berekening van werkbladformaten, blad " & xIndex & " van " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug.Print "Berekenen W orksheet-formaten, blad " & xIndex & " van " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' omvatten dit zodat CTRL+Break kan worden gedetecteerd. '--- pauze plakken ---
Deze opmerking is gemaakt door de moderator op de site
' Deel 2 van 3 '--- plakken pauze --- xWs.Visible = xlSheetVisible ' xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls" xWs.CopyQ Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook .Sluit 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 Einde Indien Volgende ' Herhaal bovenstaande voor kaartbladen. For Each xWs In Application.ActiveWorkbook.Charts If xWs.Name xOutName Then Application.StatusBar = "Berekenen van werkbladformaten, blad" & xIndex & " van " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug. Print "Berekenen van werkbladformaten, werkblad" & xIndex & " van " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' nemen dit op zodat CTRL+Break gedetecteerd kan worden. 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 '--- plakken pauze ---
Deze opmerking is gemaakt door de moderator op de site
' Deel 3 van 3 '--- plakken pauze --- ' Formatteer het uitvoerblad Application.Sheets(xOutName).Activate Columns("B:B").Select Selection.NumberFormat = "#,##0_);( #,##0)" Columns("A:B").Select Columns("A:B").EntireColumn.AutoFit Range("A1").Select 'Nog beter, formatteer het als een tabel. 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
Deze opmerking is gemaakt door de moderator op de site
Zeer Zeer Zeer Zeer Zeer nuttig.
Dank je!!
Deze opmerking is gemaakt door de moderator op de site
Bedankt, erg behulpzaam,
Ik had een heleboel onnodige formules in een blad en ik heb zojuist verwijderd dat het bestand nu goed werkt.
Dit alles gebeurt alleen omdat ik de grootte van elk vel kon vinden,
Nogmaals bedankt.

Anson
Deze opmerking is gemaakt door de moderator op de site
Zou dit waarschijnlijk tussen regel 9 en 10 moeten toevoegen voor het geval sommige bladen verborgen zijn om te voorkomen dat de code crasht
Voor elke xWs In bladen: xWs.Visible = True: Volgende
Er zijn nog geen reacties geplaatst

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL