Страницы: 1
RSS
Автоматическое создание сводной таблицы макросом
 
Делаю макрос для автоматического создания сводной таблице, на данной строке выходит ошибка  Run-time error 424
Set objTable = Sheet1.PivotTableWizard
Подскажите как этот объект подключить .... что ему не хватает. в VBA не силен, если можно по пунктам. Офис 2007 если что.  
 
может, так?
Код
Set objTable = worksheets("Sheet1").PivotTableWizard 
 
да помогло, когда создал лист 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
 
Он мне столбец Цена в сводную таблицу вообще не добавил....
но ведь не указать никак диапозон ячеек для сводной таблицы, к тому же кол-во строк у таблицы всегда разное.
 
Цитата
venom51 написал: Он мне столбец Цена в сводную таблицу вообще не добавил
Покажите файл с макросом и что не так. (может в исходной таб. и нет такого заголовка)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Вот файл пример. Данные заменил и названия столбцов тоже. Макрос тоже подредактировал, убрал лишнее.
Изменено: venom51 - 31.08.2015 15:58:04
 
venom51, в файле есть именованный диапазон "База_данных" и в него не входит столбец с ценой. Скорректируйте им. диап. и попробуйте макрос.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, сделал, но в этом файле у меня такая ошибка на столбце "Кол-во1" который входит в данный диапозон.
Проверьте весь макрос пож-та(
 
venom51, в сводной, что в книге на листе "Лист2" нет поля "Кол-во1", а есть поле "Кол-во по 1". Видимо Вы переименовали это поле, но сводная не обновлена и в нём старое название. Обновите или удалите сводную и выполните макрос. У меня отработал без вопросов после указанных рекомендаций.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Спасибо. получилось на основной таблице сделать сводную макросом.  
Страницы: 1
Наверх