Shairal ежедневно разрабатывает сводные таблицы, используя различные источники данных, такие как списки Excel, таблицы Access и данные OLAP. Одна из самых раздражающих вещей, с которыми он имеет дело, – это подавление функции автоматического подытога для каждого поля, по одному. Это может занять много времени в зависимости от количества используемых полей. Шейрал поинтересовался, может ли быть проще использовать макрос для подавления промежуточных итогов для всех полей сразу.
Ответ заключается в том, что было бы проще использовать макрос. (Именно для этого нужны макросы – чтобы позаботиться о утомительных вещах, от которых вы устали.) Однако вместо того, чтобы изобретать велосипед, хорошим решением будет рассмотреть следующий код, адаптированный с сайта Microsoft MVP Дебры Даглисеш:
Sub NoSubtotals () ‘отключает промежуточные итоги в сводной таблице. pf В pt.PivotFields «Сначала установите для индекса 1 (автоматически) значение True», чтобы все остальные значения были установлены на False pf.Subtotals (1) = True pf.Subtotals (1) = False Next pf Next ptEnd Sub
Просто отобразите сводную таблицу, на которую вы хотите повлиять, а затем запустите макрос. Промежуточные итоги для всех полей сводной таблицы подавляются сразу. Оригинал этого кода доступен здесь, на сайте Дебры:
http://www.contextures.com/xlPivot03.html#Subtotals
Сайт также содержит другая полезная информация для работы со сводными таблицами.
Источник: