Comment voulez-vous actualiser les Segments en une seule feuille?
Je voudrais effacer les filtres de tous les segments à l'intérieur d'une feuille de mais laissez les autres segments "non-actualisé".
J'ai vu le code suivant qui actualise tous les segments dans le classeur, mais ne peut pas l'obtenir pour fonctionner uniquement sur un particulier de la feuille seulement.
Dim slcr As SlicerCache
For Each slcr In ActiveWorkbook.SlicerCaches
slcr.ClearManualFilter
Next slcr
Toute aide reçue avec gratitude!
Grâce
Vous devez vous connecter pour publier un commentaire.
Après un peu de jouer autour et essais (jamais utilisé de segments par VBA avant), j'ai travaillé le ci-dessous.
Toutefois, il convient de noter qu'un slicercache peut avoir des segments de différentes feuilles de calcul. Un segment est lié à un segment de cache qui à son tour est lié à une source de données (par exemple un tableau croisé dynamique). Si un segment est changé, alors le segment de cache est modifié qui change le tableau croisé dynamique ainsi. Vous ne pouvez pas avoir 1 trancheuse avec un filtre et un autre segment lié à ce même tableau croisé dynamique avec un filtre, comme le tableau croisé dynamique est mise à jour par un segment de filtres. Il ne serait pas logique. 😉
Ce n'est le fait d'avoir plusieurs segments et du pivot plusieurs tables à l'aide de la ci-dessous sera en effet de supprimer les filtres pour une trancheuse /cache /pivot mais pas changer les autres. C'est la seule façon dont il pourrait donc j'espère que c'était ce que tu voulais de toute façon!!
Application.ScreenUpdating = False Application.Calculation = xlCalculationManual
en haut et En suivant dessous:Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True
Parce que j'ai beaucoup de GETPIVOTDATA de commandes au sein de ma feuille, il tente de mettre à jour ces entre chaque segment d'actualisation. De toute façon! Merci beaucoup, l'un des plus utiles de réponse!