Anzeige
Archiv - Navigation
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

DataLabel Position

DataLabel Position
02.02.2007 16:12:09
Peter
Hallo,
ich möchte die Datenbeschriftung in Kreisdiagrammen per Makro positionieren. Für jedes Kreisdiagramm habe ich schon einen Code der eine andere Eigenschaft regelt. In diesen Code möchte ich gerne die Positionierung einbauen. Mein Versuch funktioniert leider nicht:
'Datenbeschriftungen in den einzelnen Kreisdiagrammen der Hauptdaten (Auswahl einzeln) werden ausgeblendet wenn

Sub Datenbeschriftung_Kreisdiagramm_Klasse()
Dim Werte As Range, Index As Integer
Dim ch As Chart
Set Werte = Sheets("Auswertung").Range("L77:L83")
Set ch = Sheets("Pflanzungs-Karte").ChartObjects("Diagramm 67").Chart
For Index = 1 To Werte.Cells.Count
With ch.SeriesCollection(1).Points(Index)
If Werte.Cells(Index) < 3 Then
.HasDataLabel = False
Else
.HasDataLabel = True
.DataLabel.Text = Werte.Cells(Index, 1) & "%"  'Anzeige in Prozent
End If
End With
Next Index
Set ch = Nothing
Set Werte = Nothing
'Datenbeschriftung positionieren
With ActiveSheet
.ChartObjects("Diagramm 67").DataLabel.Position = xlLabelPositionInsideEnd
End With
End Sub

Wie ist es richtig?
Grüße aus Berlin

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DataLabel Position
02.02.2007 17:05:17
IngGi
Hallo Peter aus Berlin,
da fehlen ein "SeriesCollection(1)" und ein "s" (DataLabels):
.ChartObjects("Diagramm 67").SeriesCollection(1).DataLabels.Position = xlLabelPositionInsideEnd
Gruß aus Stuttgart
Ingolf
funktioniert noch nicht
02.02.2007 18:25:15
Peter
Hallo,
leider lauft der Code noch nicht.
Folgende Fehlermeldung kommt: "Objekt unterstützt diese Eigenschaft oder Methode nicht"
Der aktuelle Code:
'Datenbeschriftungen in den einzelnen Kreisdiagrammen der Hauptdaten (Auswahl einzeln) werden ausgeblendet wenn

Sub Datenbeschriftung_Kreisdiagramm_Klasse()
Dim Werte As Range, Index As Integer
Dim ch As Chart
Set Werte = Sheets("Auswertung").Range("L77:L83")
Set ch = Sheets("Pflanzungs-Karte").ChartObjects("Diagramm 67").Chart
For Index = 1 To Werte.Cells.Count
With ch.SeriesCollection(1).Points(Index)
If Werte.Cells(Index) < 3 Then
.HasDataLabel = False
Else
.HasDataLabel = True
.DataLabel.Text = Werte.Cells(Index, 1) & "%"  'Anzeige in Prozent
End If
End With
Next Index
Set ch = Nothing
Set Werte = Nothing
'Datenbeschriftung positionieren
With ActiveSheet
.ChartObjects("Diagramm 67").SeriesCollection(1).DataLabels.Position = xlLabelPositionInsideEnd
End With
End Sub

Wo könnte der Fehler liegen?
Grüße aus Berlin
Anzeige
AW: funktioniert noch nicht
02.02.2007 18:56:08
IngGi
Hallo Peter,
offenbar muss das Diagramm aktiviert sein, damit es funktioniert. Also:
Dim rng As Range
Set rng = ActiveCell
ActiveSheet.ChartObjects("Diagramm 67").Activate
ActiveChart.SeriesCollection(1).DataLabels.Position = xlLabelPositionInsideEnd
rng.Select
Das Drumherum mit dem "rng" dient dazu, nach der Aktion wieder die vorher aktive Zelle auf dem Tabellenblatt zu aktivieren, nicht damit es dann Probleme mit nachfolgendem Programmcode gibt.
Gruß Ingolf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige