Excel-Diagramm - Zählen der Reihen und anschließendes Hinzufügen einer Datenbeschriftung zum letzten Punkt

Excel-Diagramm - Zählen der Reihen und anschließendes Hinzufügen einer Datenbeschriftung zum letzten Punkt

Mir ist es gelungen, ein Makro zu erstellen, das den letzten Punkt der ersten Reihe in einem Diagramm findet und eine Datenbeschriftung hinzufügt und formatiert. Ich möchte es nun so einrichten, dass es die Reihen, deren Anzahl sich ändern kann, im Diagramm zählt und jede Reihe durchläuft und dabei das Gleiche tut wie bei Reihe 1.

Es schlägt kläglich fehl. Ich habe die Teile, die ich versucht habe, aber die fehlgeschlagen sind, auskommentiert.

Ich bin nicht sicher, wie ich das, was ich getan habe, in den Griff bekommen kann.

Jede Hilfe ist dankbar.

Michael.

Dim MyChart As Chart
Dim ChartPoints As Points
Dim ChartDataLables As DataLabel
'Dim NumberOfSeries As Series

Set MyChart = ActiveSheet.ChartObjects("Chart 1").Chart

'Set NumberOfSeries = MyChart.SeriesCollection.Count

Set ChartPoints = MyChart.SeriesCollection(1).Points
ChartPoints(ChartPoints.Count).ApplyDataLabels
Set ChartDataLables = ChartPoints(ChartPoints.Count).DataLabel

 'For Each NumberOfSeries In MyChart
 With MyChart
     With ChartDataLables
    .Position = xlLabelPositionRight
    .HorizontalAlignment = xlCenter
    .Font.Size = 8
    .NumberFormat = "0.00"
    .ShowSeriesName = True
    .Font.Name = "Arial Narrow"
     End With
 End With
  'Next NumberOfSeries
 End Sub

Mein ursprüngliches Makro wurde mit Hilfe von Google/Foren und durch Ausprobieren geschrieben.

Antwort1

VBA ist nicht erforderlich (es sei denn, Sie mögen VBA). Erstellen Sie einfach eine Hilfsreihe, die auswertet, ob ein anderer Wert vorhanden ist (ich verwende eine Offset-Formel). Wenn Ihre Datenreihe keinen „nächsten“ Wert enthält, geben Sie den aktuellen/letzten Wert zurück. Andernfalls geben Sie ein #N/A zurück. Fügen Sie diese Hilfsreihe dann zu Ihrem Diagramm hinzu und beschriften/formatieren Sie es nach Belieben. Das Diagramm ignoriert alle N/A und stellt nur den letzten Datenpunkt dar. Dies kann auch verwendet werden, um andere Schlüsselwerte zu finden (z. B. erster, hoher, niedriger usw.).

Bildbeschreibung hier eingeben

Antwort2

Durchlaufen Sie jede Reihe im Diagramm -

Option Explicit

Public Sub LoopThroughSeries()
    Dim myChart As ChartObject
    Dim mySeries As Series

    With myChart
        For Each mySeries In myChart.Chart.SeriesCollection
            'do stuff
        Next
    End With

End Sub

verwandte Informationen