Как свернуть строки в сводной таблице в Excel

Обновлено: 06.07.2024

Сводные таблицы имеют полезную функцию, позволяющую разворачивать или сворачивать группы, чтобы просматривать или скрывать сведения.

Давайте посмотрим.

Здесь у нас есть сводная таблица, которая показывает продажи продуктов по категориям и продуктам, сгруппированным по годам и кварталам. Всякий раз, когда у вас есть сводная таблица, объединяющая данные в различные группы, вы можете в интерактивном режиме разворачивать и сворачивать эти группы.

Сводные таблицы имеют специальные кнопки развертывания и свертывания, которые можно активировать на вкладке "Параметры" ленты "Инструменты для сводных таблиц". Когда они включены, вы можете использовать эти кнопки для развертывания и свертывания различных групп в таблице. Однако вы также можете просто дважды щелкнуть эти же группы, чтобы сделать то же самое, что является более чистым и быстрым способом. Сейчас мы отключим кнопки.

С каждым полем, с которым вы взаимодействуете, вы можете работать как с одним элементом по отдельности, так и со всем полем сразу. Например, мы можем разворачивать и сворачивать каждый элемент в поле категории по отдельности, в любом сочетании.

Если щелкнуть элемент правой кнопкой мыши, вы получите доступ к тем же параметрам в меню.

Мы также можем развернуть и свернуть все поле одновременно. Просто выберите ячейку в поле и используйте кнопки на ленте. Эти кнопки называются «Развернуть все поле» и «Свернуть все поле».

Те же параметры доступны в контекстном меню. Используйте «Развернуть все поле» и «Свернуть все поле» в меню «Развернуть/свернуть».

Мы можем использовать тот же подход для полей меток столбцов. Если мы выберем элемент в группе «Год», мы можем развернуть и свернуть все кварталы одновременно. Мы также можем работать с каждым годом отдельно, дважды щелкнув мышью.

Вы также можете использовать функцию "Развернуть и свернуть", чтобы добавить поля в сводную таблицу. Например, если мы дважды щелкнем элемент в поле продукта, Excel предложит добавить дополнительную информацию в виде другого поля. Мы можем, например, добавить регион, а затем развернуть и свернуть детали региона для каждого продукта. Обратите внимание, что Excel добавил поле «Регион» в качестве метки строки под продуктом. Конечно, вы можете удалить поля, добавленные таким образом, в любое время.

Microsoft Logo< бр />

Серая труба< бр />

Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.

Отвечает:

Вопрос

Когда есть вложенные/сгруппированные/родительско-дочерние/уровни строк, кажется, что они первоначально отображаются со всеми строками, максимально развернутыми. Я очень новичок в этом, но пока единственный способ свернуть строки вручную, по одной группе за раз. Это не будет работать для большого количества строк. Традиционные направляющие уровня группировки Excel, расположенные на полях, не видны/не присутствуют в моих сводных таблицах. Какая/где команда, чтобы свернуть все строки, чтобы была видна только самая верхняя группа? ГлавнаяКулинарияN

Ответы

Если вы выберете уровень, до которого хотите свернуть, вы можете нажать кнопку "Свернуть все поле" на вкладке "Параметры PivotTools" (выделено на изображении).

  • Отредактировано редактором Brent Greenwood 27 декабря 2011 г., 00:03.
  • Предложено в качестве ответа Challen Fu 27 декабря 2011 г., 5:46
  • Помечено в качестве ответа HomeCookN 27 декабря 2011 г., 11:52

Все ответы

Если вы выберете уровень, до которого хотите свернуть, вы можете нажать кнопку "Свернуть все поле" на вкладке "Параметры PivotTools" (выделено на изображении).

  • Отредактировано редактором Brent Greenwood 27 декабря 2011 г., 00:03.
  • Предложено в качестве ответа Challen Fu 27 декабря 2011 г., 5:46
  • Помечено в качестве ответа HomeCookN 27 декабря 2011 г., 11:52

Большое спасибо, Брент. У меня небольшие проблемы с просмотром и включением кнопки свернуть все поле, но, по крайней мере, вы показали мне, где она находится. ГлавнаяКулинарияN

Рады помочь. Эта вкладка является контекстно-зависимой, поэтому она даже недоступна, если вы не выбрали ячейку в сводной таблице.

Кроме того, если лента вызывает у вас затруднения, вы можете использовать быстрые клавиши:

свернуть: Alt + J + T + P

развернуть: Alt + J + T + X

Надеюсь, это поможет.

Центры разработки

Учебные ресурсы

Сообщество

Поддержка

Программы

logo

© Корпорация Майкрософт, 2022 г.

Ярлык сводной таблицы для развертывания и свертывания

После настройки сводной таблицы вы можете использовать кнопки "плюс" и "минус", чтобы отобразить или скрыть сведения о сводной таблице. Например, скройте сведения о восточном регионе, чтобы отображались только его итоговые значения, и оставьте видимыми все сведения о западном регионе. Знаете ли вы ярлык сводной таблицы, чтобы развернуть и свернуть детали? Продолжайте читать, чтобы узнать, как это сделать быстро и легко.

Кнопки «Развернуть» и «Свернуть»

По умолчанию в сводной таблице слева от меток элементов сводки есть маленькие знаки "плюс" и "минус". Эти кнопки сводной таблицы «Развернуть» и «Свернуть» позволяют отображать или скрывать сведения об определенном элементе, например о категории «Панели» (показана ниже) или о целом поле, например «Категория».

ПРИМЕЧАНИЕ. Когда вы нажимаете кнопку "минус", чтобы свернуть элемент, все экземпляры этого сводного элемента свернуты. На снимке экрана ниже категория «Банки» свернута как для восточного, так и для северного регионов.

количество на нечетные и четные недели

Скрыть кнопки «Развернуть» и «Свернуть»

Если вы не измените настройки сводной таблицы по умолчанию, кнопки развертывания и свертывания появляются автоматически при создании новой сводной таблицы.

Если вы хотите скрыть кнопки развертывания и свертывания, выполните следующие действия:

  1. Выберите ячейку в сводной таблице.
  2. На ленте на вкладке "Инструменты для сводных таблиц" нажмите вкладку "Анализ".
  3. Нажмите кнопку +/-, чтобы включить или выключить кнопки.

показать кнопки сворачивания

Ярлык для развертывания и свертывания

Знаете ли вы, что можно использовать колесо прокрутки мыши, чтобы разворачивать и сворачивать сведения о полях в сводной таблице?

В сводной таблице наведите указатель на ячейку в области строк или столбцов.

  • Чтобы развернуть, нажмите Shift и прокрутите колесо мыши ВВЕРХ.
  • Чтобы свернуть, нажмите Shift и прокрутите колесо мыши ВНИЗ.

СОВЕТ. При сворачивании указывайте на ячейку в верхней части сводной таблицы, чтобы указатель не оказался за пределами диапазона сводной таблицы.

Вы получите разные результаты в зависимости от ячейки, на которую указываете, поэтому поэкспериментируйте, чтобы увидеть, как это работает. В следующем разделе показано несколько примеров.

Внешнее и внутреннее поля

В области строк есть 2 типа полей:

  • Внешние поля — одно или несколько полей находятся под ними в списке полей сводной таблицы.
  • Внутренние поля: в списке полей сводной таблицы под ними нет полей.

В этой сводной таблице «Регион», «Город» и «Категория» являются внешними полями, а «Продукт» — внутренним полем.

collapseexpand10png

Примеры ярлыков

Вот несколько примеров того, что происходит при использовании сочетания клавиш Shift и прокрутки.

Первое внешнее поле

Область – это первое внешнее поле в крайнем левом углу области строки.

  • Укажите ячейку в поле "Регион".
  • Нажмите клавишу Shift и прокрутите колесико мыши ВНИЗ, чтобы свернуть сведения сводной таблицы до поля "Регион".

Чтобы снова развернуть сводную таблицу, наведите курсор на ячейку в поле "Регион", нажмите Shift и прокрутите колесико мыши ВВЕРХ

collapseexpand09png

Третье внешнее поле

Категория — это третье внешнее поле, расположенное ниже области "Регион" и "Город".

  • Укажите на ячейку в поле "Категория".
  • Нажмите Shift и один раз прокрутите колесико мыши ВНИЗ
  • Сведения сводной таблицы скрыты для полей "Категория" и "Товар".

Чтобы снова развернуть сводную таблицу, наведите курсор на ячейку в поле "Категория", нажмите Shift и прокрутите колесико мыши ВВЕРХ

collapseexpand11png

Внутреннее поле

Продукт – это внутреннее поле в правой части области строки.

  • Наведите указатель мыши на ячейку в поле "Товар".
  • Нажмите Shift и один раз прокрутите колесико мыши ВНИЗ

Поскольку продукт является внутренним полем, под ним нет сведений, которые можно было бы свернуть.

  • Вместо этого сводная таблица сворачивается до последнего внешнего поля – категории.
  • Если вы продолжите нажимать клавишу Shift и прокрутите ВНИЗ, остальные поля будут свернуты одно за другим.

Расширить внутреннее поле

Если навести курсор на ячейку во внутреннем поле "Продукт", нажать клавишу Shift и прокрутить ВВЕРХ, чтобы развернуться, появится диалоговое окно "Показать подробности".

collapseexpand12png

Если выбрать одно из полей, оно будет добавлено в область строк как новое внутреннее поле. На снимке экрана ниже магазин добавлен в сводную таблицу.

ПРИМЕЧАНИЕ. Если вы добавили поле случайно, нажмите кнопку "Отменить" или нажмите Ctrl+Z, чтобы удалить его.

collapseexpand13png

Дополнительные советы по развертыванию и сворачиванию

На моем веб-сайте Contextures есть дополнительные советы по сворачиванию и развертыванию сводной таблицы. Вы также найдете образцы файлов и примеры макросов сводной таблицы, которые помогут вам отобразить или скрыть сведения о сводной таблице.

Краткий обзор того, как скрыть и показать данные в сводной таблице, можно посмотреть в этом коротком видео. Здесь показано несколько различных способов, которыми вы можете вручную разворачивать и сворачивать сводные элементы в сводной таблице Excel.

Ярлык сводной таблицы для развертывания и свертывания

Развернуть и свернуть сводную таблицу

Ярлык сводной таблицы для расширения и Свернуть

Оставить ответ Отменить ответ

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

Итог: узнайте, как добавлять кнопки в сводные таблицы и сводные диаграммы, чтобы быстро разворачивать/сворачивать целые поля с помощью макроса VBA.

Уровень квалификации: средний

Развертывание и свертывание полей занимает много времени

Развертывание и свертывание целых полей в сводной таблице может быть многоэтапным процессом, который требует немного времени. Это особенно актуально для пользователей/потребителей ваших файлов отчетов Excel, которые не знакомы с процессом.

Чтобы развернуть или свернуть ВСЁ поле, мы обычно нажимаем небольшие кнопки расширения (+) и свертывания (-) для каждого элемента в поле.

Для этого есть ярлыки в контекстном меню и на вкладке "Параметры/Анализ" на ленте.

Развернуть Свернуть все поле – контекстное меню

Мы также можем нажать кнопки «Развернуть поле» и «Свернуть поле» на вкладке «Анализ/Параметры» на ленте. Ячейка в области строк или столбцов сводной таблицы должна быть выбрана, чтобы эти кнопки работали (были включены).

Сочетания клавиш для развертывания/свертывания полей:

Развернуть все поле: Alt , A , J или клавиша меню , E , E

Свернуть все поле: Alt , A , H или клавиша меню , E , C

Примечание. Чтобы сочетания клавиш работали, необходимо выделить ячейку в области "Строки" или "Столбцы".

Однако в сводной таблице нет специальных кнопок для развертывания/свертывания всего поля.

Новые кнопки «Развернуть и свернуть» в сводных диаграммах Excel 2016

В Excel 2016 в сводные диаграммы была добавлена ​​новая функция, позволяющая разворачивать или сворачивать поля в области строк. Вы увидите маленькие кнопки плюса и минуса в правом нижнем углу сводной диаграммы.

Однако эта функция доступна ТОЛЬКО в Excel 2016 (Office 365). Итак, я создал несколько макросов, которые будут работать в любой версии Excel как в области строк, так и в области столбцов сводной таблицы или сводной диаграммы.

Мы также можем изменить сводную диаграмму, чтобы отображались только кнопки развертывания/свертывания, и добавить их над сводной таблицей. Вот анимация, которая показывает, как это сделать.

  1. Удалите кнопки полей "Значения" и "Ось" на диаграмме.
  2. Удалите метки осей, заголовок и легенду.
  3. Измените размер диаграммы, чтобы отображались только кнопки "Развернуть/Свернуть".

Диаграмма будет скрыта за кнопками. Таким образом, мы просто используем сводную диаграмму для кнопок развертывания/свертывания. Важно отметить, что это будет работать только для полей в области строк сводной таблицы и только в Excel 2016 (Office 365).

Развернуть и свернуть все макросы сводных полей

Этот набор макросов расширяет или сворачивает поле NEXT в области строк или столбцов. Это позволяет нам детализировать информацию о полях в области строк или столбцов.

Хорошим примером является наличие в сводной таблице полей в области строк для года, квартала, месяца, дня.Мы можем сравнить итоги за год, а затем просмотреть итоги по кварталам или месяцам.

Если сводная таблица в настоящее время свернута по годам, макрос "Expand_Entire_RowField" расширит ВСЕ элементы года, чтобы отобразить кварталы для каждого года.

Выполнение макроса Collapse_Entire_RowField приведет к сворачиванию элементов Year обратно.

Вы можете скачать файл, содержащий макросы, ниже.

Развернуть Свернуть все поля Macro.xlsm (68,3 КБ)

Назначение макросов фигурам или кнопкам

Макросы, назначенные фигурам для расширения, сворачивания всего сводного поля

Мы можем назначить эти макросы фигурам или кнопкам на листе.

Назначить макросы фигурам в Excel

Кнопки можно постоянно нажимать, чтобы переходить вверх или вниз по полям. Это позволяет пользователям ваших отчетов быстро разворачивать или сворачивать целые поля.

Фигуры можно вставлять внутрь сводной диаграммы, чтобы имитировать функциональность кнопок развертывания/свертывания в Excel 2016.

Макрокод VBA

Существует четыре разных макроса для развертывания/свертывания областей строк и столбцов. Макросы используют For Next Loops для довольно агрессивного перебора сводных полей и элементов.

Макрос Expand находит свернутое поле в верхней позиции, проверяя свойство ShowDetail каждого PivotItem. Если он НЕ находит развернутый элемент, он расширяет все поле. Если все элементы развернуты, то он переходит к полю в следующей позиции вниз.

Макрос Collapse действует наоборот. Он начинается с самой нижней позиции поля и работает в обратном направлении, пока не найдет элемент сводки, который НЕ свернут. Если он находит развернутый элемент, он сворачивает все поле. В противном случае он перемещается вверх к полю в следующей позиции в области строк и повторяет процесс.

Скачать файл

Вы можете скачать файл, содержащий макросы для областей строк и столбцов.

Развернуть Свернуть все поля Macro.xlsm (68,3 КБ)

Как мы можем его улучшить?

Кнопки макроса "Развернуть/Свернуть" должны стать хорошим дополнением к любому файлу отчета, который вы отправляете пользователям, не являющимся экспертами в области Excel. Я видел, как многие пользователи несколько раз нажимали маленькие кнопки «развернуть/свернуть» для каждого элемента сводки просто потому, что не знали, что есть лучший способ. Этот макрос должен помочь им быстрее и проще просматривать сводные таблицы или диаграммы.

Пожалуйста, оставьте комментарий ниже с вопросами или предложениями о том, как мы можем это улучшить. Большое спасибо! 🙂

Вам также может понравиться

Как искать в раскрывающихся списках проверки данных в Excel

Быстрый способ вставки срезов в рабочие листы Excel

3 совета по списку полей сводной таблицы в Excel

Анализ банковских выписок с помощью сводных таблиц

Отлично!
Спасибо, Джон

Спасибо за поддержку, Хосин! 🙂

Привет, Джон. Мне очень нравится ваша идея с макросом, но мне кажется, что она не работает.
Это только для Office 2016?
Я использую 2010.

Привет, Владимир!
Я думаю, что это должно работать в 2010 году, но не проверял. Вы получаете сообщение об ошибке с примером файла, который вы можете скачать выше?

Отличная работа… Я очень ценю ее.

Я не знал, что в сводных диаграммах в Excel 2016 есть такие кнопки. Спасибо за создание этого! Кто-то просил вас об этом или вы думали, что это будет весело?

Спасибо, Кевин! 🙂 На создание этого макроса меня вдохновил другой вопрос о группах, о котором я расскажу в следующем посте.

Мы также можем использовать эти кнопки сводной диаграммы вместо кнопок макросов, если ваши группы находятся в области строк. Я добавил анимацию экрана в раздел сводных диаграмм выше, чтобы показать, как это выглядит.

Большое спасибо, Джон

По какой-то причине макрос выдает тип ошибки: «Несоответствие типов» в следующей командной строке:

Я получу ту же ошибку, но только после изменения конфигурации сводной таблицы.

Только после внесения изменений в сводную таблицу я получу ту же ошибку.

Отличный макрос Джон, как функциональный, так и обучающий. Мне очень нравится ваш курс, и я учусь каждый раз, когда беру следующий модуль урока.
Я с нетерпением жду вашего обучения, чтобы сделать некоторые из моих электронных таблиц более эффективными!

Большое спасибо, Найджел! Я рад, что вы стали участником курса VBA Pro, и рад слышать, что вы больше узнаете о VBA. 🙂

Джон:
Каким образом иерархия дат автоматически определяется без вспомогательного измерения даты, чтобы обеспечить дополнительную аналитику дат для свертки и детализации?
ГВт

Привет, Джордж!
Отличный вопрос! Иерархия создается с помощью групповой функции сводной таблицы. Вот статья, в которой объясняется группировка дат в сводной таблице по сравнению с использованием формул. Надеюсь, это поможет. Спасибо! 🙂

Джон:
Спасибо. Доказывает, что мы все

Джон:
Спасибо. Доказывает, что нам всем есть чему поучиться. Я с нетерпением жду продолжения жизненного пути к непрерывному обучению!
ГВт

Джон:
Спасибо. Доказывает, что нам всем есть чему поучиться. Я с нетерпением жду продолжения жизненного пути к непрерывному обучению!
Джордж

Извините, я думаю, что загрузил неправильный макрос. Ниже приведена настройка, которую я внес в макрос, чтобы больше не возникала ошибка несоответствия типа 13. Это расширит или свернет все строки или столбцы:
Option Explicit

Sub Expand_Entire_RowField()
'Расширить самое нижнее поле позиции в области строк
', которое в настоящее время развернуто (показ деталей)

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim iFieldCount As Long
Dim iPosition As Long

'Создать ссылку на 1-ю сводную таблицу на листе
'Можно изменить для ссылки на конкретный лист или сводную таблицу.
Set pt = ActiveSheet.PivotTables(1)
'Количество полей в области строк минус 1 (последнее поле не может быть расширено)
iFieldCount = pt.RowFields.Count – 1

'Цикл по позиции поля
For iPosition = 1 To iFieldCount
'Цикл полей в области строк
For Each pf In pt.RowFields
'Если позиция соответствует первому циклу переменная then
If pf.Position = iPosition Then
'Зациклить каждый элемент сводки
Для каждого pi в pf.PivotItems
'Если элемент сводки свернут, то
ActiveSheet. PivotTables(1).PivotFields("Годы").ShowDetail = True
ActiveSheet.PivotTables(1).PivotFields("Кварталы").ShowDetail = True
ActiveSheet.PivotTables(1).PivotFields(" Месяцы»).ShowDetail = True
' If pi.ShowDetail = False Then
'Расширить все поле
' pf.ShowDetail = True
'Выйти из макроса
Выйти Sub
' End If
Следующий pi
End If
Следующий pf
'Если строка Exit Sub не нажата, то
'цикл будет продолжаться. следующая позиция поля
Следующая iPosition

' Set pt = ActiveSheet.PivotTables(1)
'
' iFieldCount = pt.RowFields.Count – 1
'
' For iPosition = 1 To iFieldCount
' Для каждого pf в pt.RowFields
' Если pf.Position = iPosition Then
' Для каждого pi в pf.PivotItems
' Если pi.ShowDetail = False Then
' pf.ShowDetail = True
' Exit Sub
' End If
' Next pi
' End If
' Next pf
' Next iPosition

Sub Collapse_Entire_RowField()
'Свернуть самое нижнее поле позиции в области строк
', которое в настоящее время развернуто (показ деталей)

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim iFieldCount As Long
Dim iPosition As Long

'Создать ссылку на 1-ю сводную таблицу на листе
'Можно изменить для ссылки на конкретный лист или сводную таблицу.
Установите pt = ActiveSheet.PivotTables(1)

'Количество полей в области строк минус 1 (последнее поле не может быть расширено)
iFieldCount = pt.RowFields.Count – 1

'Зациклить назад по позиции поля (шаг -1)
For iPosition = iFieldCount To 1 Step -1
'Зациклить поля в области строк
For Every pf In pt.RowFields < br />'Если position соответствует первой переменной цикла, then
If pf.Position = iPosition Then
'Зациклить каждый элемент сводки
For Each pi In pf.PivotItems
'Если элемент сводки раскрывается, затем
ActiveSheet.PivotTables(1).PivotFields("Месяцы").ShowDetail = False
ActiveSheet.PivotTables(1).PivotFields("Кварталы").ShowDetail = False
ActiveSheet .PivotTables(1).PivotFields("Годы").ShowDetail = False
' Если pi.ShowDetail = True Then
'Свернуть все поле
' pf.ShowDetail = False
'Выход из макроса
Exit Sub
' End If
Next pi
End If
Next pf
'Если строка Exit Sub не нажата, то
'цикл продолжится до следующей позиции поля
Следующая iPosition

Sub Expand_Entire_ColumnField()
'Расширить самое нижнее поле позиции в области столбцов
', которое в настоящее время развернуто (показывая детали)

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim iFieldCount As Long
Dim iPosition As Long

Установите pt = ActiveSheet.PivotTables(1)

iFieldCount = pt.ColumnFields.Count – 1

Для iPosition = 1 To iFieldCount
Для каждого pf в pt.ColumnFields
Если pf.Position = iPosition Then
Для каждого pi в pf.PivotItems
ActiveSheet.PivotTables( 1).PivotFields("Годы").ShowDetail = True
ActiveSheet.PivotTables(1).PivotFields("Кварталы").ShowDetail = True
' Если pi.ShowDetail = False Then
' pf.ShowDetail = True
Выход из подчиненной
' End If
Следующий pi
End If
Следующая
Следующая iPosition

Sub Collapse_Entire_ColumnField()
'Свернуть самое нижнее поле позиции в области столбцов
', которое в настоящее время развернуто (показ деталей)

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim iFieldCount As Long
Dim iPosition As Long

'Начать снизу
'Цикл, чтобы найти, отображают ли какие-либо ячейки диапазона данных подробности,
'если нет, перейти к следующему полю,
'если да, свернуть все поле

Установите pt = ActiveSheet.PivotTables(1)

iFieldCount = pt.ColumnFields.Count – 1

For iPosition = iFieldCount To 1 Step -1
Для каждого pf в pt.ColumnFields
If pf.Position = iPosition Then
Для каждого pi в pf.PivotItems
ActiveSheet .PivotTables(1).PivotFields("Кварталы").ShowDetail = False
ActiveSheet.PivotTables(1).PivotFields("Годы").ShowDetail = False
' If pi.ShowDetail = True Then < br />' pf.ShowDetail = False
Exit Sub
' End If
Следующий pi
End If
Следующий pf
Следующий iPosition

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim iFieldCount As Long
Dim iPosition As Long

Set pt = Worksheets("Сводная таблица").PivotTables("PivotTable1")

iFieldCount = pt.RowFields.Count – 1

For iPosition = 1 To iFieldCount
Для каждого pf в pt.RowFields
Если pf.Position = iPosition Then
Для каждого pi в pf.PivotItems
ActiveSheet.PivotTables( 1).PivotFields("Клиент").ShowDetail = True
ActiveSheet.PivotTables(1).PivotFields("Категория").ShowDetail = True
' Если pi.ShowDetail = False Then
' pf.ShowDetail = True
Выйти из подчиненного
' Конец, если
Следующий pi
Конец, если
Следующий pf
Следующая iPosition

Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim iFieldCount As Long
Dim iPosition As Long

Set pt = Worksheets("Сводная таблица").PivotTables("PivotTable1")

iFieldCount = pt.RowFields.Count – 1

For iPosition = iFieldCount To 1 Step -1
Для каждого pf в pt.RowFields
Если pf.Position = iPosition Then
Для каждого pi в pf.PivotItems
ActiveSheet .PivotTables(1).PivotFields("Категория").ShowDetail = False
ActiveSheet.PivotTables(1).PivotFields("Клиент").ShowDetail = False
' If pi.ShowDetail = True Then < br />' pf.ShowDetail = False
Exit Sub
' End If
Следующий pi
End If
Следующий pf
Следующий iPosition

Привет, Чак!
Спасибо, что поделились. У меня сейчас нет машины с 2010 годом, чтобы проверить. Мы также могли бы добавить некоторую обработку ошибок вокруг проверки ShowDetails, чтобы обойти эти ошибки. Хотя я не совсем уверен, в чем причина.

Другим, кто использует ваш макрос, следует обратить внимание на одну важную вещь: вам нужно будет изменить имена полей, чтобы они соответствовали любым полям, используемым в сводной таблице.

Во время исследования с помощью отладчика я открыл часы в окне Immediate и обнаружил, что pi.ShowDetail имеет тип Integer, хотя он должен быть логическим. Я не мог понять, почему тип установлен как Integer? Я хотел бы интегрировать снимок отладчика со значением в этом сообщении.

Уважаемый Джон
Большое спасибо за ваше электронное письмо относительно Excel…. и я все еще хочу поддерживать с вами связь..

Еще раз спасибо, Джон

С уважением,
Авраам Ли

Джон, я недавно начал подписываться на ваши советы из-за нового проекта. В. В двух словах, мне нужно улучшить работу с Vlookup, сводной таблицей и анализом данных между различными электронными таблицами в быстром темпе, например СЕЙЧАС.

Каковы ваши предложения, пожалуйста?

Кроме того, ваши советы всегда ПОТРЯСАЮЩИЕ

Поздравляем с новым концертом! 🙂

Вот несколько полезных ссылок. У меня есть бесплатная серия видео из 3 частей о формулах поиска, включая ВПР, ИНДЕКС, ПОИСКПОЗ и другие. Вот ссылка для регистрации. Это бесплатно.

У меня также есть бесплатный вебинар, посвященный началу работы со сводными таблицами. Вот ссылка для регистрации.

Надеюсь, это поможет вам начать работу. Оба эти ресурса предшествуют моим полным углубленным курсам.

Еще раз спасибо за вашу поддержку! Рад видеть вас здесь! 🙂

Только после изменения сводной таблицы я получу ту же ошибку, что и Чак.

Привет, Фрэнк!
Похоже, это может быть проблема с Excel 2010. Мне нужно будет получить машину с 2010 для тестирования. Тем временем, если у кого-то есть обходной путь/решение, не стесняйтесь публиковать.

Я не уверен, возникает ли ошибка только в этом сводном элементе или в свойстве ShowDetails.

Спасибо, Джон, за это замечательное письмо.
Макросы еще не проверял, но обязательно сделаю.
Если возникнут какие-либо вопросы, я оставлю сообщение. Еще раз спасибо.

Читайте также: