Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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
VBA: Schleife, Farben für Datenbeschriftung
23.06.2016 16:41:14
Hewad
Hallo zusammen,
ich habe mehrere Charts (Liniendramm) auf einem Arbeitsblatt mit jeweils 3 bis 4 Linien (Serien) pro Diagramm.
Ich möchte die Farbencodes der DataLabels (Datenbeschriftung), die bereits in den Zellen C100 bis C101 stehen übernehmen (insgesamt gibt es 4 Farben)
Ich schafe zwar mit meinem Code über alle Datenbeschriftungen auf alle Diagrammen zu ändern, allerdings springt die Schleife nicht zur nächsten Zelle, sodass die allen DataLabels die gleiche Farbe zu geordnet wird.
Weiß nicht was ich falsch mache.
Vielen herzlichen Dank für die Hilfe
hier ist mein Code
Sub Chart_format()
'variablen
Dim anzahl_chart As Integer
Dim labelColor As String
Dim k As Integer
Dim i As Integer
Dim p As Integer
anzahl_chart = ActiveSheet.ChartObjects.Count
Debug.Print anzahl_chart
For p = 1 To anzahl_chart
ActiveSheet.ChartObjects(p).Activate
For k = 1 To ActiveChart.FullSeriesCollection.Count
Debug.Print ActiveChart.FullSeriesCollection.Count
ActiveChart.FullSeriesCollection(k).DataLabels.Select
Debug.Print ActiveChart.Name
i = 100
labelColor = ActiveSheet.Cells(i, 3).Value ' der Farbencode steht in der Zelle C100
Debug.Print labelColor
With Selection
.Font.Color = 0
.Font.Color = labelColor
.Font.Bold = msoTrue
End With
i = i + 1 ' Hier soll beim nächsten Durchlauf in die nächste Zelle C101 ü _
berspringen
Next k
Next p
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Schleife, Farben für Datenbeschriftung
23.06.2016 18:28:08
ChrisL
Hi
Schleife p
Schleife k
i = 100
' mach was
i = i + 1
Next k
Next p
i wird immer wieder auf 100 zurück gestellt. Müsste zwischen Schleife p und k oder sogar vor Schleife p, je nach gewünschtem Resultat (je Diagramm neu oder durchgehend)
cu
Chris

AW: VBA: Schleife, Farben für Datenbeschriftung
23.06.2016 18:29:33
ChrisL
Zeile "i = 100" verschieben (damit keine Missverständnisse entstehen)

AW: VBA: Schleife, Farben für Datenbeschriftung
23.06.2016 18:37:20
fcs
Hallo Hewad,
dein Code hat 2 Problemstellen:
1. Zeile in der I auf 100 gesetzt wird
Der Startwert für die Zeile mit der 1. Farbe muss vor der Zeile mit
"For k = 1 To ActiveChart.FullSeriesCollection.Count"
stehen. Sonst wird i innerhalb der Schleife immer wieder auf 100 gesetzt.
2. Variablendeklaration
Die Variable "labelColor" muss als long deklariert werden, wenn in C10 bis Cxxx die Farbwerte als Zahlen stehen.
Gruß
Franz
Sub Chart_format()
'variablen
Dim anzahl_chart As Integer
Dim labelColor As Long
Dim k As Integer
Dim i As Integer
Dim p As Integer
Dim objDatalabels As DataLabels
anzahl_chart = ActiveSheet.ChartObjects.Count
Debug.Print anzahl_chart
For p = 1 To anzahl_chart
ActiveSheet.ChartObjects(p).Activate
i = 100
For k = 1 To ActiveChart.FullSeriesCollection.Count
Debug.Print ActiveChart.FullSeriesCollection.Count
Set objDatalabels = ActiveChart.FullSeriesCollection(k).DataLabels
objDatalabels.Select
Debug.Print ActiveChart.Name
labelColor = ActiveSheet.Cells(i, 3).Value ' der Farbencode steht in der Zelle C100
Debug.Print labelColor
With objDatalabels
.Font.Color = 0
'                .Format.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = labelColor
.Font.Color = labelColor
.Font.Bold = msoTrue
End With
i = i + 1 ' Hier soll beim nächsten Durchlauf in die nächste Zelle C101 ü _
berspringen
Next k
Next p
End Sub

Anzeige
AW: VBA: Schleife, Farben für Datenbeschriftung
24.06.2016 09:52:06
Hewad
Vielen dank lieber Franz,
es hat perfekt funktiniert :-)
Gruß
Hewad

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige