VBA boucle dans toutes les séries dans tous les tableaux
Je vais avoir un problème avec la boucle par le biais de plusieurs cartes dans mon code VBA. Je suis à 99,7% sûr que c'est vraiment facile et rapide à fixer, mais mon cerveau ne fonctionne pas aujourd'hui.
Je veux le code d'une boucle sur chaque graphique sur le ActiveSheet, et pour chaque série de données que le tableau contient je le veux pour ajouter la dernière valeur de la série. Dans mon exemple, j'ai 9 cartes, chacune avec 3 séries en eux (liée au changement, certains ont 2 mais je m'égare).
J'ai le code suivant
Sub AddLastValue()
Dim myChartObject As ChartObject
Dim myChart As Chart
Dim mySrs As Series
Dim myPts As Points
With ActiveSheet
For Each myChartObject In .ChartObjects
For Each myChart In .Chart
For Each mySrs In .SeriesCollection
Set myPts = .Points
myPts(myPts.Count).ApplyDataLabels Type:=xlShowValue
Next
Next
Next
End With
End Sub
Si je supprime le code de boucle et il suffit de faire une
Set myPts = ActiveSheet.ChartObjects(1).Chart. _
SeriesCollection(1).Points
myPts(myPts.Count).ApplyDataLabels type:=xlShowValue
Puis il travaille pour le graphique et la série, donc je suis positif, il est la boucle que je suis bien.
Quelqu'un pourrait-il me dire où je galère le code de boucle?
Vous devez vous connecter pour publier un commentaire.
Essayer de code suivant:
For Each mySrs In .SeriesCollection
. DansWith
déclaration signifieActiveSheet.SeriesCollection
, (mais pasActiveSheet.ChartObjects.Chart.SeriesCollection
)Pas travailler pour des valeurs vides.
Ce code trouver dernier n'est pas vide de la valeur et ajoute ensuite de l'étiquette.