Option Explicit 'Приходы Sub ПриходСводТаб() Dim PTcache As PivotCache Dim pt As PivotTable Dim PItem As PivotItem Application.ScreenUpdating = False ' Удаление существующего листа сводной таблицы On Error Resume Next Application.DisplayAlerts = False Sheets("Приходы").Delete On Error GoTo 0 ' Создание кеэша сводной таблицы Set PTcache = ActiveWorkbook.PivotCaches.Create( _ SourceType:=xlDatabase, _ SourceData:=Range("B6:K" & shd.Cells.SpecialCells(xlLastCell).Row)) ' SourceData:=Range("B4").CurrentRegion.Address) ' Добавление нового листа Worksheets.Add ActiveSheet.Name = "Приходы" ActiveWindow.DisplayGridlines = False ' Создание сводной таблицы на основе кеша Set pt = ActiveSheet.PivotTables.Add( _ PivotCache:=PTcache, _ TableDestination:=Range("A3"), _ TableName:="BudgetPivot") ActiveSheet.PivotTables("BudgetPivot").AddDataField ActiveSheet.PivotTables( _ "BudgetPivot").PivotFields("СуммаК"), "Сумма по полю СуммаК", xlSum With pt ' Добавление полей .PivotFields("СчетД").Orientation = xlPageField .PivotFields("СчетК").Orientation = xlPageField .PivotFields("Аналитика Дт").Orientation = xlRowField .PivotFields("Дата").Orientation = xlColumnField End With With pt.PageFields("СчетД") For Each PItem In .PivotItems PItem.Visible = True If PItem.Name Like "68*" Then PItem.Visible = False Next End With End Sub