AW: Diagramm Datenbeschriftung individuell
05.02.2010 15:36:01
fcs
Hallo Chrissey,
hier mal ein Beispiel, ich denke an den Kommentaren kannst du dich langhangeln für die notwendigen Anpassungen.
Gruß
Franz
Sub DiagrammLabels()
Dim oDiagramm As Chart, wks As Worksheet
Dim oReihe As Series, oPunkt As Point, intI As Long
Dim rngX_Werte As Range, rng_Beschriftung As Range
Set wks = Worksheets("TabelleX") 'Tabellenblatt mit Diagrammdaten
With wks
'Bereich mit den Kategorie (X-Werten des Diagramms) - Hier A2:Ax
Set rngX_Werte = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
'Beschriftung steht 2 Spalten rechts von den Kategoriewerten
Set rng_Beschriftung = rngX_Werte.Offset(0, 2)
End With
Set oDiagramm = wks.ChartObjects(1).Chart 'Diagramm als Objekt im Tabellenblatt
' Set oDiagramm = Charts("Diagramm1") 'Diagramm auf separatem Blatt
'Datenreihe, die beschriftet werden soll
'über Nummer festlegen
' Set oReihe = oDiagramm.SeriesCollection(1)
'oder über Name festlegen
Set oReihe = oDiagramm.SeriesCollection("Wert")
'Einstellung der Beschriftung für die Datenreihe - kann man auch weglassen _
dann bleiben die manuellen Einstellungen
With oReihe
.HasDataLabels = True
With .DataLabels
.ShowCategoryName = True
.ShowValue = False
.ShowSeriesName = False
'Position der Beschriftung
.Position = xlLabelPositionOutsideEnd
End With
End With
'Kategorienamen durch individuellen Text ersetzen
For intI = 1 To rngX_Werte.Rows.Count
Set oPunkt = oReihe.Points(intI)
oPunkt.DataLabel.Text = rng_Beschriftung(intI, 1)
Next
End Sub