Страницы: 1
RSS
Применение макроса к АКТИВНОЙ сводной таблице
 
Добрый день!

Макрорекордером записал макрос, который форматирует сводную таблицу как мне нужно:
Код
Sub Макрос1()
    With ActiveSheet.PivotTables("Сводная таблица 1")
        .ColumnGrand = False
        .HasAutoFormat = False
        .RowGrand = False
    End With

    ActiveSheet.PivotTables("Сводная таблица 1").ShowDrillIndicators = False
    ActiveSheet.PivotTables("Сводная таблица 1").RowAxisLayout xlTabularRow
End Sub
Вопрос: как сделать данный макрос универсальным, т.е. применять не к сводной с названием "Сводная таблица 1", а к той, которая активна (т.е. к той, на которой находится активная ячейка).
Может есть что-то вроде "ActiveSheet", но только к сводной, типа "ActivePivot"?

Поиск в интернете не дал понятного решения.

Спасибо!
 
SnowLs
Код
With activecell.PivotTable
 
Большое спасибо!
Всё работает, как нужно.

А подскажите, есть ли подобный универсальный макрос к полю сводной таблицы?
Чтобы данный макрос (с выводом формата, а также функцией агрегации данных):
Код
Sub Макрос5()
    With ActiveSheet.PivotTables("Сводная таблица4").PivotFields("Среднее по полю Dev")
        .Caption = "Сумма по полю Dev"
        .Function = xlSum
        .NumberFormat = "# ##0"
    End With
End Sub
работал не только с полем "Среднее по полю Dev", а с тем полем, которые выделил пользователь мышкой.

Т.е. выделяешь мышкой поле, нажимаешь сочетание клавиш назначенное под макрос и макрос выполняется по этому выделенному полю.
Или так нельзя сделать?
Изменено: SnowLs - 13.12.2017 16:43:15
 
Цитата
SnowLs написал:
а с тем полем, которые выделил пользователь мышкой
не поверите :)
Код
With ActiveCell.PivotField
 
Смешно получилось:)
Спасибо Вам, буду проверять.
Страницы: 1
Читают тему
Наверх