2010-11-02 66 views
0

Par exemple, j'ai un tableau croisé dynamique sur chaque troisième feuille de travail qui doit être modifiée, sur la feuille de calcul est 3 tableaux croisés dynamiques, je ne connais pas le nom de la table mais je sais se trouve sur $ N $ 2, y at-il de toute façon pour obtenir le nom ou le handle de la table pivot de la cellule?Obtenir le handle pivotTable de la cellule dans vba

Répondre

1

L'objet Range a une propriété de tableau croisé dynamique qui retourne l'objet que vous voulez

Set pt = MySheet.Range("N2").PivotTable 
+0

Je pense que cela devrait fonctionner sauf que je reçois une erreur, Impossible d'obtenir la propriété de la classe PivotTable Range. – JJRhythm

+0

Assurez-vous que la référence de votre feuille est correcte. N'utilisez pas une référence de plage non qualifiée telle que Range ("N2") car elle pointera vers la feuille active qui ne correspond peut-être pas à ce que vous voulez. Pour tester, allez dans la fenêtre Immediate (Ctl + G) dans le VBE et tapez? ActiveCell.PivotTable.Name Si vous n'y trouvez pas d'erreur, c'est votre référence de feuille ou de range dans votre code. Vous pouvez modifier votre question et publier le code que vous utilisez également. –

+0

Hey merci beaucoup J'ai réalisé mon problème, je regardais N2 qui est juste une étiquette au-dessus de la table pivotante pas vraiment dans la table. J'avais besoin de passer à N3, bien sûr en réalisant cela après avoir fait le travail manuellement. Oh bien merci beaucoup mais je ne savais pas à propos de la fenêtre immédiate. – JJRhythm