Я не смог найти ответ на StackOverflow, поэтому я хотел поделиться этим.Нет собственного свойства, которое учитывает все сводные таблицы, но есть свойство Worksheet.PivotTables.Count
.Переберите каждый лист в рабочей книге и сохраняйте текущий счетчик следующим образом:
Public Function CountPivotsInWorkbook(ByVal target As Workbook) As Long
Dim tmpCount As Long
Dim iWs As Excel.Worksheet
For Each iWs In target.Worksheets
tmpCount = tmpCount + iWs.PivotTables.Count
Next iWs
CountPivotsInWorkbook = tmpCount
End Function
Вызовите функцию следующим образом:
Sub test()
MsgBox CountPivotsInWorkbook(ActiveWorkbook)
End Sub