VBA Excel graphique, afficher les données de l'étiquette sur le dernier point seulement
Je veux ajouter des étiquettes de données seulement le point final à ma ligne graphique, pour le moment je suis en utilisant le ci-dessous, qui fonctionne très bien, mais seulement si je connais le point final est.
J'ai fait beaucoup de recherche et trouvé les points(les points.le comte) de l'objet dans l'aide d'excel mais je n'arrive pas à le faire fonctionner pour moi.
S'il vous plaît pouvez-vous suggérer un moyen de n'en montrer que le dernier point sur mon graphique ou (idéalement) tous les graphiques sur une feuille de calcul.
Sub Data_Labels()
'
' Data_Labels Macro
ActiveSheet.ChartObjects("Menck Chart").Activate
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.Delete
ActiveSheet.ChartObjects("Menck Chart").Activate
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Points(59).Select
ActiveChart.SeriesCollection(1).Points(59).ApplyDataLabels
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.Format.TextFrame2.TextRange.Font.Size = 9
End Sub
- Avez-vous essayé un Pour | Chaque instruction?
Vous devez vous connecter pour publier un commentaire.
Réponse Courte
Réponse Longue
L'utilisation de
ActiveChart
est vague, et exige en outre l'étape de sélectionner le tableau d'intérêt. Si vous spécifiez le graphique qui vous intéresse explicitement, votre macro sera beaucoup plus robuste et plus facile à lire. Je recommande également, soit à l'aide d'unWith
bloc, ou la création de variables intermédiaires, comme la lecture deActiveChart.SeriesCollection(1).Points
sur et qui plus est douloureux et encombre votre code. Essayez le plus tard méthode comme suit:C'est près de la moitié aussi longtemps que l'original et beaucoup plus facile à lire, à mon avis.
De l'essayer. D'abord elle s'applique datalabels à TOUS les points, puis les supprime à partir de chaque point, sauf le dernier.
- Je utiliser le
Points.Count - 1
de cette façon, leFor/Next
boucle s'arrête avant que le dernier point.