Доброго времени суток. С толкнулся с такой проблемой.
У меня Excel 2013.
Я создал кнопку которая должна включать/выключать отображение общих итогов строк в сводной таблице. Подключил к ней доработаный макрос созданный макрорекордером.
Код
Sub swColumnGrand()
Dim Check As Boolean
Check = ActiveSheet.PivotTables("СводнаяТаблица2").ColumnGrand
'MsgBox (Check)
If Check Then
ActiveSheet.PivotTables("СводнаяТаблица2").ColumnGrand = False 'Эта строка была создана макрорекордером когда руками включал/выключал итоги
Else:
ActiveSheet.PivotTables("СводнаяТаблица2").ColumnGrand = True
End If End Sub
В итоге при запуске макроса с таблицей ничего не происходит. Ошибку также не выдает. Подскажите пожалуйста что я делаю не так ?
Спасибо за ответ. Да я уже по разному пробовал записать макрос, выложил последний вариант. Без результата. Наверно у меня что то с настройками Екселя, но не знаю что, раз у Вас работает, а у меня нет. Вкладываю пример. Он у меня не работает. Может сможете подсказть ?
ну так правильно - вы пытаетесь в общих итогах увидеть сумму трех вычисляемых столбцов. Сводная так не работает. Если, например, Значения из строк переместить в столбцы, а Название - из столбцов в строки, тогда и ваш макрос будет работать
В общем я понял. Из-за переноса значений в область строк нужно было итог по строкам делать, а не столбцам. Хотя макрорекордер почему-то записал столбцы Переписал код, все работает. Спасибо за внимание!
Код
With ActiveSheet.PivotTables("СводнаяТаблица2")
'.ColumnGrand = Not .ColumnGrand 'Неправильно
.RowGrand = Not .RowGrand 'Правильно
End With
Цитата
webley написал: вы случайно ColumnGrand и RowGrand не путаете?