невозможно получить видимое свойство класса pivotitem

У меня есть два набора кода. По какой-то причине впервый я получаю ошибкуи ввторой я не.

1:

Dim pi As PivotItem
Dim pf As PivotField

Set pf = Sheets("Afname per school").PivotTables("Draaitabel3").PivotFields("school")

For Each pi In pf.PivotItems
    If pi = "(leeg)" Then
        pi.Visible = False
    Else
        pi.Visible = True 'ERROR HERE
    End If
Next pi

2:

Dim pi As PivotItem
Dim pf As PivotField

Set pf = Sheets("Afname per school").PivotTables("Draaitabel3").PivotFields("naam locatie")

For Each pi In pf.PivotItems
    If InStr(pi, "BSO") Then
        pi.Visible = True
    Else
        pi.Visible = False
    End If
Next pi

Я получаю сообщение об ошибке: «невозможно получить видимое свойство класса pivotitem»

Я прочитал, я должен решить это следующим образом:

Это связано с тем, что в сводной таблице используются кэшированные сводные элементы вместо текущего. Убедитесь, что на столе нет старых предметов. Для этого щелкните правой кнопкой мыши на своей сводной таблице, перейдите на вкладку «Данные» и установите «Количество элементов для хранения в поле» на «Нет». Код для этого в VBA:

Dim pt As PivotTable

pt.PivotCache.MissingItemsLimit = xlMissingItemsNone

Я попытался добавить эту строку кода двумя способами:

Dim pi As PivotItem
Dim pf As PivotField

Set pf = Sheets("Afname per school").PivotTables("Draaitabel3").PivotFields("school")

pt.PivotCache.MissingItemsLimit = xlMissingItemsNone  '1st TRY

For Each pi In pf.PivotItems
    pt.PivotCache.MissingItemsLimit = xlMissingItemsNone   '2nd TRY
    If pi = "(leeg)" Then
        pi.Visible = False
    Else
        pi.Visible = True
    End If
Next pi

Это не решает мою проблему.

Ответы на вопрос(3)

Ваш ответ на вопрос