да помогло, когда создал лист Sheet1, можно как то дописать впереди чтобы он его автоматом создавал?
Теперь в следующих строках затык
Код |
---|
Set objField = objTable.PivotFields("Цена") |
Ошибка 1004 Невозможно получить свойство PivotFields класса PivotTable
Собственно весь код:
Код |
---|
Sub Создание_сводной()
' Макрос1 Макрос МНН
Dim objTable As PivotTable, objField As PivotField
ActiveWorkbook.Sheets("RAZNARYAD").Select
Range("A1").Select
' Создаем отдельны лист для сводной
Set objTable = Worksheets("Sheet1").PivotTableWizard
' делаем строки
Set objField = objTable.PivotFields("Учреждение")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("Наименование")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("Кол-во 1")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("Кол-во 2")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("Цена")
objField.Orientation = xlDataField
objField.Function = xlSum
objField.NumberFormat = "$ #,##0"
' Фильтр по столбцу
Set objField = objTable.PivotFields("Контракт")
objField.Orientation = xlPageField
' Preview the new PivotTable report.
ActiveSheet.PrintPreview
' Prompt the user whether to delete the PivotTable.
Application.DisplayAlerts = False
If MsgBox("Delete the PivotTable?", vbYesNo) = vbYes Then
ActiveSheet.Delete
End If
Application.DisplayAlerts = True
End Sub
|