AW: bitte Mappe hochladen (o.W.)
11.08.2007 11:20:32
fcs
Hallo Uli,
es gibt keinen allgemeinen Befehl, der solche Text-Überlagerungen verhindert. Grundsätzlich kann man den Beschriftungstext per Makro positionieren (relativ zum Diagrammrahmen). Der aufgezeichnete Code für 1. und 4. Datenpunkt sieht beispielweise so aus:
Sub Beschriftung()
ActiveSheet.ChartObjects("Diagramm 3").Activate
ActiveChart.SeriesCollection(1).DataLabels.Select
ActiveChart.SeriesCollection(1).Points(1).DataLabel.Select
Selection.Left = 75
Selection.Top = 20
ActiveChart.SeriesCollection(1).Points(4).DataLabel.Select
Selection.Left = 81
Selection.Top = 156
End Sub
Jetzt müßte der Code so erstellt werden, dass in einer For...Next Schleife alle Datenpunkte des jeweiligen Diagramms abgearbeitet werden. Ausgehend vom 1. Datenpunkt, der immer oben im Uhrzeigersinn beginnt muss jetzt abhängig von der Größe des Kuchenstücks (Prozentwert) und der Position des Kuchenstücks (Summe der Prozentwerte der vorherigen Stücke + halber Prozentwert des Stücks) die Position der Beschriftung (Top und Left) festgelegt werden. Das dürfte einen ziemlichen Wust an Select Case bzw. If-Anweisungen ergeben.
Meiner Meinung nach ist es einfacher/übersichtlicher im Musterdiagramm die Führungslinien und Beschriftungsfelder einmal einigermassen ordentlich für kleine Werte zu positionieren. Den Kategorienamen würde ich in der Datenbeschriftung weglassen, insbesondere da diese ja zum Teil auch sehr lang sind.
Statt dessen die Legende unten anzeigen und das Legendsymbol vor den Beschriftungen anzeigen.
Gruß
Franz