Если вы хотите быстро получить размер данных каждого рабочего листа в книге Excel, вы можете обратиться к этой статье. Здесь мы поделимся с вами двумя удобными методами.
Иногда при работе с рабочей книгой Excel, состоящей из большого количества рабочих листов, может потребоваться получить размер данных каждого рабочего листа. Однако встроенной функции для этого требования нет. Итак, вам нужно использовать некоторые обходные пути, такие как следующий метод 1. Или вы можете использовать гораздо более умный метод 2, чтобы получить объем данных всех рабочих листов.
Метод 1: получить размер данных рабочего листа один за другим вручную
- Сначала откройте конкретную книгу Excel.
- Затем скопируйте содержимое рабочего листа Excel.

- Затем создайте новую книгу и вставьте скопированный лист на лист 1.
- Позже сохраните новую книгу в папке Windows.
- Наконец, вы можете проверить размер данных новой рабочей книги, равный размеру данных рабочего листа, в проводнике Windows, как показано на следующем снимке экрана.
- Теперь вы можете использовать этот способ для получения размеров данных других рабочих листов один за другим.
Метод 2: Пакетное получение размеров данных всех рабочих листов через VBA
- Для начала откройте редактор Excel VBA согласно «Как запустить код VBA в вашем Excel».
- Затем поместите следующий код в проект или модуль.
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 = "Sheet Sizes"
strTempWorkbook = ThisWorkbook.Path & "\Temp Workbook.xls"
With ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1))
.Name = strTargetSheetName
.Cells(1, 1) = "Sheet"
.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)
For Each objWorksheet In Application.ActiveWorkbook.Worksheets
If objWorksheet.Name <> strTargetSheetName Then
objWorksheet.Copy
Application.ActiveWorkbook.SaveAs strTempWorkbook
Application.ActiveWorkbook.Close SaveChanges:=False
nLastEmptyRow = objTargetWorksheet.Range("A" & objTargetWorksheet.Rows.Count).End(xlUp).Row + 1
With objTargetWorksheet
.Cells(nLastEmptyRow, 1) = objWorksheet.Name
.Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook)
End With
Kill strTempWorkbook
End If
Next
End Sub
- После этого нажмите «F5», чтобы сразу запустить этот макрос.
- В конце концов, после завершения макроса, вернитесь к книге.
- В самом начале вы увидите новый рабочий лист, который содержит размер каждого рабочего листа, как показано на следующем рисунке.
сравнение
| Преимущества | Недостатки | |
| Метод 1 | Простота в эксплуатации | Слишком хлопотно, если в текущей книге слишком много рабочих листов |
| Метод 2 | Легко и удобно, независимо от того, сколько рабочих листов существует в книге. | Возможно, приведенный выше код VBA немного непонятен для новичков. |
Исправить раздражающие проблемы с PST
Пользователи могут столкнуться со всевозможными неприятными проблемами в MS Excel, начиная от неожиданного выключения илиtarт к серьезному xlsx-повреждение. Бесспорно, мost запутанная проблема - это поврежденный файл Excel, который не может быть легко решен. Это требует от вас применения внешнего инструмента исправления Excel, например DataNumen Excel Repair.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая и коррумпированных лиц SQL Server и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com




