Устаревшие элементы в списке сводных таблиц - PullRequest
17 голосов
/ 25 августа 2011

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

То есть, у меня был определенный элемент в этом столбце в моей электронной таблице Excel (источник для сводной таблицы), и месяц назад я перестал использовать этот определенный элемент, поэтому он больше не отображается в источнике данных. , Но он все еще отображается в списке флажков для метки строк в сводной таблице. Как я могу удалить это? Обновление сводной таблицы не исправляет это. Уже есть много различных блоков, и это только затрудняет чтение.

Спасибо за любую помощь

Ответы [ 2 ]

29 голосов
/ 31 июля 2012

взято с http://www.contextures.com/xlPivot04.html

Очистить старые элементы из сводной таблицы в Excel 2007

  1. Щелкните правой кнопкой мыши ячейку в сводной таблице
  2. Нажмите на параметры сводной таблицы
  3. Нажмите на вкладку данных
  4. В разделе «Сохранить элементы» в раскрывающемся списке выберите «Нет»
  5. Нажмите OK, затем обновите сводную таблицу
4 голосов
/ 25 августа 2011

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

  1. Нажмите Alt - F11 для доступа к редактору VBA
  2. В окне проводника проекта дважды щелкните «ThisWorkbook»
  3. В двух верхних выпадающих меню над окном кода выберите «Рабочая книга» слева и «Открыть» справа.
  4. Вставьте следующий код из адаптированного из Учебник по сводной таблице Excel -- Очистить старые элементы

    Private Sub Workbook_Open()
    
        'prevents unused items in non-OLAP PivotTables
        'pivot table tutorial by contextures.com
        Dim pt As PivotTable
        Dim ws As Worksheet
        Dim pc As PivotCache
    
        'change the settings
        For Each ws In ActiveWorkbook.Worksheets
          For Each pt In ws.PivotTables
            pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
          Next pt
        Next ws
    
        'refresh all the pivot caches
        For Each pc In ActiveWorkbook.PivotCaches
          On Error Resume Next
          pc.Refresh
        Next pc
    
    End Sub     
    

Это удалит все старые элементы при каждом открытии книги при условии, что макросы включены.

...