2016-10-13 4 views
0

Я пытаюсь использовать код в this link, но я получаю сообщение об ошибке выполнения 438 «Объект не поддерживает это свойство или метод» для линииОтмена выбора сводной таблицы Items Ошибка

ActiveSheet.PivotItems(1).Visible = True 

ли кто-нибудь знаете, что происходит?

Полный код:

Sub DeleteAllFields() 
    Dim i As Long 
    ActiveSheet.PivotItems(1).Visible = True 
     For i = 2 To ActiveSheet.PivotItems.Count 
      ActiveSheet.PivotItems(i).Visible = False 
     Next 
End Sub 

Полное раскрытие - Я начинающий пользователь VBA.

Спасибо!

ответ

0

Ошибка связана с использованием .PivotItems() с объектом ActiveSheet.

Свойство PivotItems() является частью PivotFields() объекта, так что вам нужно будет что-то вроде:

ActiveSheet.PivotTables("PivotTable1").PivotFields("Example Field").PivotItems(1).Visible = True 
+0

Привет Джордан, спасибо за ответ. Я все еще немного смущен. Зачем вам нужно вызывать поле поворота, идея кода заключается в том, чтобы скрыть все поля, кроме i = 1? – user7003894

+0

В основном вы показываете строки в сводной таблице, если вы еще не скрыли никаких строк, это не будет иметь никакого значения, если вы установите '.Visible = False', тогда он скроет строку. Вы можете перемещаться по элементам сводной таблицы с использованием номера индекса, например. '.PivotItems (i)' и проверить '.PivotItems (i) .Name' для критериев и скрыть или показать на основе этого - обычно это используется для этой функции. – Jordan

Смежные вопросы