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

Jak sprawdzić rozmiar każdego arkusza roboczego skoroszytu?

Przypuśćmy, że masz duży skoroszyt, który zawiera wiele arkuszy roboczych, a teraz chcesz sprawdzić rozmiar każdego arkusza, aby określić, który arkusz należy zmniejszyć. Czy są jakieś szybkie metody radzenia sobie z tym zadaniem?

Sprawdź rozmiar każdego arkusza z kodem VBA

Sprawdź rozmiar każdego arkusza roboczego za pomocą Kutools for Excel

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

strzałka niebieski prawy bąbelek Sprawdź rozmiar każdego arkusza z kodem VBA

Za pomocą następującego kodu VBA możesz szybko uzyskać rozmiar każdego arkusza w skoroszycie. Zrób tak:

1. Przytrzymaj ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.

2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: sprawdź rozmiar każdego arkusza w skoroszycie </ 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. Następnie naciśnij F5 klucz do wykonania tego kodu i nowy arkusz o nazwie KutoolsforExcel zostanie wstawiony do bieżącego skoroszytu, który zawiera nazwę każdego arkusza i rozmiar pliku, a jednostką jest Bit. Zobacz zrzut ekranu:

rozmiar arkusza-kontrolnego-dokumentu1


strzałka niebieski prawy bąbelek Sprawdź rozmiar każdego arkusza roboczego za pomocą Kutools for Excel

Jeśli masz Kutools dla programu Excel, Z siedzibą w Podziel skoroszyt narzędzie, możesz podzielić cały skoroszyt na osobne pliki, a następnie przejść do określonego folderu, aby sprawdzić rozmiar każdego pliku.

Kutools dla programu Excel zawiera ponad 300 przydatnych narzędzi programu Excel. Bezpłatne wypróbowanie bez ograniczeń w ciągu 30 dni. Pobierz teraz.

Po zainstalowaniu Kutools dla programu Excel wykonaj następujące czynności:

1. Otwórz skoroszyt, dla którego chcesz sprawdzić rozmiar każdego arkusza, i kliknij Przedsiębiorstwo > Narzędzia skoroszytu > Podziel skoroszytzobacz zrzut ekranu:

rozmiar arkusza-kontrolnego-dokumentu1

2, w Podziel skoroszyt zaznacz wszystkie arkusze i kliknij Split , a następnie określ folder, w którym mają zostać umieszczone nowe pliki skoroszytu. Zobacz zrzuty ekranu:

rozmiar arkusza-kontrolnego-dokumentu3
-1
rozmiar arkusza-kontrolnego-dokumentu4

3. A następnie każdy arkusz roboczy bieżącego skoroszytu zostanie zapisany jako oddzielny plik Excel, możesz przejść do określonego folderu, aby sprawdzić rozmiar każdego skoroszytu.

rozmiar arkusza-kontrolnego-dokumentu1

Aby dowiedzieć się więcej o tej funkcji Podziel skoroszyt.


Podobne artykuły:

Jak podzielić skoroszyt, aby oddzielić pliki Excela w programie Excel?

Jak wyeksportować i zapisać arkusze i arkusze jako nowy skoroszyt w programie Excel?


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (9)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Bardzo pomocne. Dziękuję Ci!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękujemy za publiczne udostępnienie fragmentu kodu. To jedna z lepszych rutyn, jakie znalazłem. Oto kilka poprawek: 1) Dodaj „Dim xIndex as Long” na górze, jeśli używasz Option Explicit. 2) Dodaj to wewnątrz pętli For, aby obsłużyć ukryte arkusze (w przeciwnym razie nastąpi awaria): xWs.Visible = xlSheetVisible 3) Jeśli masz całostronicowe arkusze „wykresów”, musisz skopiować kod pętli i przejść przez aplikację. Kolekcja ActiveWorkbook.Charts. Jeśli to zrobisz, zmień deklarację xWs z „Arkusz” na „Obiekt”. 4) Aby uzyskać tani wskaźnik stanu (lub w przypadku problemów z debugowaniem), dodaj ten wiersz w pętli For: Debug.Print „Obliczanie rozmiarów arkusza roboczego, arkusza” & xIndex & „ of ” & ActiveWorkbook.Worksheets.count - 1 & „ - ” & xWs.Nazwa
Ten komentarz został zminimalizowany przez moderatora na stronie
Hej Ben, czy możesz ponownie wkleić cały ciąg tekstu z dodanymi elementami #2 i #4 z wiadomości e-mail? MOJA wiedza o VBA jest dość ograniczona i nie wiem dokładnie, gdzie dodać je do pętli For. Mój skoroszyt zawiera wiele ukrytych arkuszy i zawiesza się podczas wykonywania makra. Dzięki Bob
Ten komentarz został zminimalizowany przez moderatora na stronie
Oto kopia procedury z kilkoma ulepszeniami, które dodałem. Musiałem podzielić go na wiele postów ze względu na ograniczenia strony. Public Sub WorksheetSizes() 'Aktualizacja 20140526' https://www.extendoffice.com/documents/excel/1682-excel-check-size-of-each-sheet.html<br /> ' ' BS 4/4/2016: Zmodyfikowano, aby mieć pasek stanu i formatować dane wyjściowe. ' Naprawiono dla ukrytych arkuszy, które powodowały awarię. ' Dodano obsługę arkuszy wykresów Dim xWs As Object ' Arkusz lub wykres 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” w przypadku błędu Wznów dalej Application.DisplayAlerts = False Err = 0 Set xOutWs = Application.Worksheets(xOutName) If Err = 0 Then xOutWs.Delete Err = 0 Zakończ, jeśli z Application.ActiveWorkbook.Worksheets .Add(Before:=Application.Worksheets(1)) .Name = xOutName .Range("A1").Resize(1, 2).Value = Array("Nazwa arkusza roboczego", "Rozmiar") Zakończ z zestawem xOutWs = Application.Worksheets(xOutName) Application.ScreenUpdating = False xIndex = 1 Debug.Print ThisWorkbook.Path dla każdego xWs w Application.ActiveWorkbook.Worksheets If xWs.Name xOutName Then Application.StatusBar = "Obliczanie rozmiarów arkusza roboczego, arkusza " & xIndex & " z " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug.Print "Obliczanie W orksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' zawierają to, aby można było wykryć CTRL+Break. '--- przerwanie wklejania ---
Ten komentarz został zminimalizowany przez moderatora na stronie
' Część 2 z 3 '--- przerwanie wklejania --- 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 ' Powtórz powyższe dla arkuszy wykresów. Dla każdego xWs In Application.ActiveWorkbook.Charts If xWs.Name xOutName Then Application.StatusBar = "Obliczanie rozmiarów arkusza roboczego, arkusza " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug. Print "Obliczanie rozmiarów arkusza roboczego, arkusza " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' uwzględniają to, aby można było wykryć CTRL+Break. 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 '--- wklej przerwanie ---
Ten komentarz został zminimalizowany przez moderatora na stronie
' Część 3 z 3 '--- wklej podział --- ' Sformatuj arkusz wyjściowy Application.Sheets(xOutName).Activate Columns("B:B").Select Selection.NumberFormat = "#,##0_);( #,##0)" Columns("A:B").Select Columns("A:B").EntireColumn.AutoFit Range("A1").Select ' Jeszcze lepiej, sformatuj jako tabelę. ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:B" & xIndex), , xlYes).Name = "Rozmiary arkusza roboczego" Application.ScreenUpdating = True Application.Application.DisplayAlerts = True Application.StatusBar = "" Application.Cursor = xlDefault Exit Sub ErrorHandler: MsgBox "Error #" & Err.Number & " - " & Err.Description & vbCrLf & "w procedurze WorksheetSizes" End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Bardzo, bardzo, bardzo, bardzo, bardzo pomocny.
Dziękuję Ci!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję, bardzo pomocny,
Miałem kilka niepotrzebnych formuł w arkuszu i właśnie usunąłem, że plik działa teraz dobrze.
Wszystko to dzieje się tylko dlatego, że mogłem znaleźć rozmiar każdego arkusza,
Dzięki jeszcze raz.

Anson
Ten komentarz został zminimalizowany przez moderatora na stronie
Powinien prawdopodobnie dodać to między wierszami 9 i 10 na wypadek, gdyby niektóre arkusze były ukryte, aby uniknąć awarii kodu
Dla każdego xWs w arkuszach: xWs.Visible = True: Next
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL