Je travaille sur une automatisation graphique Excel. Lorsque j'essaie de monter un objet LegendEntry (Series), je ne trouve aucune méthode API associée de MS site. La manière manuelle est la suivante: Sélectionnez le graphique> Clic droit>Sélectionnez Données ...> Choisissez l'une des LegendEntry> Cliquez sur le bouton Move Up. Comment pourrais-je faire cela par VBA? Merci d'avance.Y at-il un moyen d'ajuster la séquence de LegendEntries (Series) dans le graphique Excel par VBA?
Répondre
L'ordre d'entrée de la légende est le même que celui de la série. Je ne suis pas sûr si cela est même exposé dans le modèle d'objet. Vous pouvez modifier le numéro du dernier paramètre de la formule de série pour réorganiser les séries et les entrées de légende.
ActiveSheet.ChartObjects("Chart 1").Activate
Debug.Print ActiveChart.FullSeriesCollection(1).Formula
Cela vous obtiendrez quelque chose comme
=SERIES(Sheet1!$B$6,,Sheet1!$C$6,1)
Le 1
comme le dernier paramètre signifie qu'il est la première série dans le tableau et donc la légende. Modifiez ce paramètre pour déplacer l'entrée de légende vers une position différente.
Ceci est également utile de se pencher sur la série. Mais j'ai actuellement un problème quand j'essaie d'attribuer une valeur à la série en utilisant cela. Donc je passe à la façon de @siddharth. Je vais essayer plus quand j'ai le temps. Merci tout de même! –
Sid a cloué avec la propriété PlotOrder. C'est ce que le dernier paramètre de la formule de la série est. – teylyn
Je devrais mettre en évidence que j'utilise Excel 2010, donc l'objet devrait être 'SeriesCollection' au lieu de 'FullSeriesCollection'. C'est vraiment utile! Merci pour la démo claire. –
Heureux d'être d'aide :) –