Impossible de définir la propriété Visible de la PivotItem classe (VBA)

Je suis en train de manipuler un Tableau croisé dynamique Excel 2007 creux VBA afin que je puisse boucle à travers les catégories du tableau croisé dynamique, tous invisible mais un, enregistrez la feuille au format pdf et de continuer à la prochaine catégorie. Pour cela, j'utilise le bout de code suivant.

Dim pf As PivotField
Set pf = ActiveSheet.PivotTables("PivotTable1").PivotFields("NAME")

Dim pi as PivotItem
For Each pi In pf.PivotItems

    If pi.Visible = False Then
        pi.Visible = True 'Error here
    End If

    Dim pi2 As PivotItem
    For Each pi2 In pf.PivotItems
        If pi2 <> pi Then
            pi2.Visible = False
        End If
    Next pi2

    'Saving to PDF goes here
Next pi

La boucle semble être au travail la première fois. Chaque catégorie d'âge obtient désactivée, mais la première et il produit un beau fichier PDF. La prochaine fois qu'il entre dans la boucle, il offre toutefois un "Impossible de définir la propriété Visible de la PivotItem classe" erreur à la ligne indiquée. Je suis conscient du fait que, dans un tableau croisé dynamique, il y a au moins un élément sélectionné, mais qui n'est pas le problème ici, comme je suis en train de mettre de la visibilité à TRUE au lieu de FALSE.

J'ai essayé de fixation en plaçant une case autour de lui que peut-être vous n'êtes pas autorisé à définir un déjà visible PivotItem visible mais cela ne semble pas fonctionner.

Toute aide serait grandement appréciée!

Si vous commentez la section qui crée le PDF, ça fonctionne sans erreur?
Quelle version d'Excel que vous utilisez?

OriginalL'auteur Stijnvdk | 2012-07-13