невозможно получить видимое свойство класса 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
Это не решает мою проблему.