Dacă doriți să obțineți rapid dimensiunea datelor fiecărei foi de lucru dintr-un registru de lucru Excel, puteți consulta acest articol. Aici vă vom împărtăși 2 metode utile.
Uneori, atunci când aveți de-a face cu un registru de lucru Excel care constă dintr-o cantitate mare de foi de lucru, este posibil să doriți să obțineți dimensiunea datelor fiecărei foi de lucru. Cu toate acestea, nu există o caracteristică nativă pentru această cerință. Așadar, trebuie să utilizați câteva soluții, cum ar fi următoarea Metodă 1. Sau puteți utiliza Metoda 2, mult mai inteligentă, pentru a obține în bloc dimensiunile datelor tuturor foilor de lucru.
Metoda 1: Obțineți manual dimensiunea datelor din foaia de lucru unul câte unul
- La început, deschideți registrul de lucru Excel specific.
- Apoi, copiați conținutul unei foi de lucru Excel.
- Apoi, creați un nou registru de lucru și inserați foaia de lucru copiată în Foaia 1.
- Mai târziu, salvați noul registru de lucru într-un folder Windows.
- În cele din urmă, puteți verifica dimensiunea datelor noului registru de lucru, egală cu dimensiunea datelor foii de lucru, în Windows Explorer, așa cum se arată în următoarea captură de ecran.
- Acum, puteți utiliza acest mod pentru a obține dimensiunea datelor altor foi de lucru una câte una.
Metoda 2: Loturi Obțineți dimensiunile datelor tuturor foilor de lucru prin VBA
- Pentru început, deschideți editorul Excel VBA conform „Cum să rulați codul VBA în Excel".
- Apoi, introduceți următorul cod într-un proiect sau 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 = „Dimensiuni foi” strTempWorkbook = ThisWorkbook.Path & „\Temp Workbook.xls” Cu ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1)) .Name = strTargetSheetName .Cells(1, 1) = „Foaie” .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) Pentru fiecare objWorksheet din Application.ActiveWorkbook.Worksheets Dacă objWorksheet.Name <> strTargetSheetName Then objWorksheet.Copy Application.ActiveWorkbook.SaveAs strTempWorkbook Application.ActiveWorkbook.Close SaveChanges:=False nLastEmptyRow = objTargetWorksheet.Range(„A” și objTargetWorksheet.Rows.Count).End(xlUp).Row + 1 Cu objTargetWorksheet .Cells(nLastEmptyRow, 1) = objWorksheet.Name .Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook) End With Kill strTempWorkbook End If Next End Sub
- După aceea, apăsați „F5” pentru a rula această macrocomandă imediat.
- În cele din urmă, după terminarea macro, reveniți la registrul de lucru.
- Veți vedea o foaie de lucru nouă la început, care conține dimensiunea fiecărei foi de lucru, ca în imaginea următoare.
Comparaţie
Avantaje | Dezavantaje | |
Metoda 1 | Ușor de operat | Prea deranjant dacă există prea multe foi de lucru în registrul de lucru curent |
Metoda 2 | Ușor și convenabil, indiferent câte foi de lucru există în registrul de lucru | Poate că codul VBA de mai sus este puțin de neînțeles pentru începători |
Remediați problemele PST exasperante
Utilizatorii pot întâmpina tot felul de probleme tulburătoare în MS Excel, de la închidere neașteptată sau retart la sever corupție xlsx. Fără îndoială, most Problema cu noduri este un fișier Excel deteriorat, deoarece nu poate fi rezolvată cu ușurință. Vă cere să aplicați un instrument extern de remediere Excel, cum ar fi DataNumen Excel Repair.
Introducerea autorului:
Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv corupt SQL Server și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com
Bună, simt că am observat că ați vizitat site-ul meu, așa că am ajuns aici pentru a returna preferința?. Încerc să găsesc probleme pentru a-mi îmbunătăți site-ul! Cred că este adecvat pentru a folosi unele dintre conceptele dvs.!!
apare mesajul de eroare 1004 : nu se poate copia foaia de lucru
dacă fișierul meu Excel are un total de 10 foi de lucru și foaia de lucru vizibilă este de trei, vreo greșeală?
Vă rugăm să ajutați la îmbunătățirea codării.
A funcționat perfect după ce am scos toate filele. Care este dimensiunea unității de stocare aici? Presupunând că este Bits, dar vreau să fiu sigur. Mulțumiri!
Se pare că nu funcționează dacă există file ascunse, asigurați-vă că toate filele sunt vizibile și ar trebui să fie ok
Da, cu siguranță nu funcționează. Observați aceeași problemă ca și ceilalți.
Te rog corecteaza!
primește o eroare pe această linie...
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
Nu funcționează pentru mine. Eroare în rândul de mai sus din cod.
Acest lucru NU a funcționat pentru mine. Eroarea este aici „.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)”
Ce înseamnă exact numerele rezultate din această Metodă 2?
Am două fișiere Excel .xlsx salvate cu date dintr-un șablon. Folosesc același șablon în ultimii 2 ani. Același număr de foi de lucru (14). Dimensiunile mai mici ale foilor de fișiere însumează 11610591 și sunt de 6681 KB, după cum a raportat Windows. Dimensiunile mai mari ale foilor de fișiere însumează 11717397 și sunt de 25471 KB, după cum a raportat Windows.
Această dimensiune mai mare a fișierului numai stars-a întâmplat în ultimele 3 zile.
Mulțumesc foarte mult, fără probleme la rulare
Aceeași pentru mine.
Salutari
Nu funcționează Se oprește la objWorksheet.Copy