Ausrichtung Datenbeschriftung Säulendiagramm
08.01.2015 10:39:58
basti
ich hatte schonmal einen Beitrag zu dem Thema offen, ich verstehe in diesem Forum allerdings nicht ganz wie ich auf einem Beitrag antworten kann wenn ich ihn unter "deine Beiträge" öffne. Deswegen mach ich jetz nochmal einen neuen auf. Sorry dafür.
In einem Diagramm mit gestapelten Säulen möchte ich die Datenbeschriftung in eine Ausgangsposition bringen und dann verschieben. Beverley/Karin hat mir hierzu dieses Makro geschrieben:
Sub BeschriftungVerschieben()
Dim chrDia As Chart
Dim intPunkt As Integer
Dim serReihe As Series
Set chrDia = ActiveSheet.ChartObjects("Diagramm 2").Chart
With chrDia
Set serReihe = .SeriesCollection(3)
With serReihe
If .HasDataLabels = True Then .DataLabels.Delete
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionInsideEnd
For intPunkt = 1 To .Points.Count
.Points(intPunkt).DataLabel.Top = .Points(intPunkt).DataLabel.Top - 20
Next intPunkt
End With
Set serReihe = .SeriesCollection(4)
With serReihe
If .HasDataLabels = True Then .DataLabels.Delete
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionInsideEnd
For intPunkt = 1 To .Points.Count
.Points(intPunkt).DataLabel.Top = .Points(intPunkt).DataLabel.Top - 20
Next intPunkt
End With
Set serReihe = .SeriesCollection(2)
With serReihe
If .HasDataLabels = True Then .DataLabels.Delete
.ApplyDataLabels
.DataLabels.Position = xlLabelPositionInsideBase
For intPunkt = 1 To .Points.Count
.Points(intPunkt).DataLabel.Top = .Points(intPunkt).DataLabel.Top + 20
Next intPunkt
End With
End With
Set serReihe = Nothing
Set chrDia = Nothing
End Sub
In der Zeile .Points(intPunkt).DataLabel.Top = .Points(intPunkt).DataLabel.Top - 20
bekomme ich den Fehler " Die Methode 'Top' ist für das Objekt 'DataLabel' fehlgeschlagen.
Hat jemand ne Idee woran das liegen kann?
Hier meine Mappe https://www.herber.de/bbs/user/94827.xlsm