Этого можно добиться с помощью встроенных функций COUNT () или COUNTA ()

функция, но это может быть большой задачей, если книга содержит много листов или если вы часто добавляете в книгу новые листы.

Чтобы подсчитать диапазон из нескольких листов, вы можете использовать функцию COUNTA следующим образом:

СЧЁТ (Лист1: Лист10! A1: A100)

Приведенная выше формула будет подсчитывать все непустые ячейки в диапазоне A1: A100 на листах Sheet1 до Sheet10.

С помощью настраиваемой функции ниже легко подсчитать ячейки в диапазоне от всех листов в книге:

Function CountAllWorksheets(InputRange As Range, InclAWS As Boolean) As Double

' counts the content of InputRange in all worksheets in the workbook

Dim ws As Worksheet, TempCount As Long

Application.Volatile True ' calculates every time a cell changes

TempCount = 0

For Each ws In ActiveWorkbook.Worksheets

If InclAWS Then ' include the active worksheet

TempCount = TempCount + _

Application.WorksheetFunction.Count(ws.Range(InputRange.Address))

Else ' exclude the active worksheet

If ws.Name <> ActiveSheet.Name Then ' not the active worksheet

TempCount = TempCount + _

Application.WorksheetFunction.Count(ws.Range(InputRange.Address))

End If

End If

Next ws

Set ws = Nothing

CountAllWorksheets = TempCount

End Function

Эта функция используется так же, как и встроенные функции рабочего листа.

В Excel 5/95 переменная InputRange должна быть определена как Variant вместо Range.

Эту функцию можно легко адаптировать для использования с другими функциями рабочего листа, которые вы хотите использовать на всех листах в книге.