vaste kleur reeksen diagram grafiek.

Status
Niet open voor verdere reacties.

jan excel

Gebruiker
Lid geworden
4 mrt 2007
Berichten
437
Beste Experts,

In een dynamische diagram grafiek in excel wil ik dat de reeksen altijd de vast gestelde kleur behouden.
Aangezien ik verwacht dat dit m.b.v. een VBA script dient te worden gerealiseerd heb ik hem hier gepost.
zie bijlage dan is het wel duidelijk wat de bedoeling is.

bij voorbaat dank !!
Jan Evers.

Bekijk bijlage helpmij_voorbeeld.xlsx
 
Jan,

Was inderdaad een lastige vraag. Maar met wat zoeken kom je een heel eind.
Hierbij mijn oplossing om de grafiek op te maken volgens jou kleurenlijstje.
In jouw lijst staan vier kleuren maar heeft de grafiek er drie, ik heb deze dus
variabel gemaakt.

Code:
Public Sub KleurGrafiek()

Dim nSeries As Integer

With ActiveSheet.ChartObjects("Grafiek 1").Chart.SeriesCollection(1)
    For nSeries = 1 To .Points.Count
        .Points(nSeries).Interior.Color = Range("A5").Offset(nSeries, 0).Interior.Color
    Next
End With
End Sub

Veel Succes.
 
hoi Elsendoorn2134,

Sorry voor de late reactie maar zag nu pas dat er was gereageerd.
In ieder geval bedankt voor je reactie, echter dit is nog niet helemaal wat ik bedoel, misschien ben ik daarin niet duidelijk genoeg geweest.

De bedoeling is als bijvoorbeeld test 1 de waarde 0 heeft dat deze niet wordt weergegeven in het diagram grafiek en er dus ook geen groene kleur zichtbaar mag zijn in het diagram grafiek.
Zoals gezegd dienen de kleuren vast te staan voor test 1, test 2, test 3 en test 4.

De kleur mag dus niet verschuiven van test 1 naar bijvoorbeeld test 3.
In het voorbeeld (bijlage) zie je nu dat de groene kleur is verplaats naar test 2 en de rode kleur naar test 3 en oranje naar test 4.
Test 2 had de rood dienen te zijn , test 3 oranje en test 4 licht blauw.

Hopelijk begrijp je nu mijn bedoelingen beter.

groet ,
Jan E

Bekijk bijlage helpmij_voorbeeld1.xlsm
 
Jan,

In een cirkeldiagram worden de "punten" automatisch genummerd. Als een waarde nul gevonden wordt dan zal
er geen punt worden aangemaakt en begint de telling bij 2.
Ik heb het programma iets aangepast, bij ieder taartpunt gaat hij kijken welke tekst er bij hoort (test1, test2 etc.)
Deze tekst zoekt hij op in de lijst waarna hij de kleur gebruikt die in de cel met de tekst staat.
De code wordt dan:

Code:
Public Sub KleurGrafiek()

Dim nSeries As Integer
Dim nZoektekst As String
Dim c As Range

With ActiveSheet.ChartObjects("Grafiek 1").Chart.SeriesCollection(1)
    For nSeries = 1 To .Points.Count
        nZoektekst = .Points(nSeries).DataLabel.Text
        nZoektekst = Mid(nZoektekst, 1, Len(nZoektekst) - 4)
        Set c = ActiveSheet.Range("A6:A10").Find(nZoektekst)
        If Not c Is Nothing Then
            .Points(nSeries).Interior.Color = Range(c.Address).Interior.Color
        End If
    Next
End With
End Sub

Veel Succes.
 
Hoi Elsendoorn2134,

Perfect dit is precies wat ik bedoel.
Knap hoor je dit voor elkaar hebt gekregen.

Rest mij nog een vraag kan dit ook met een dynamische kolomdiagram.
In ieder geval niet met deze code, heb ik getest.


Alvast bedankt voor je hulp ben al super blij met dit resultaat.

groet,
Jan E
 
Jan,

Een dynamisch kolomdiagram wordt wat lastiger omdat er daar geen datalabels zijn waaraan ik
de naam kan opzoeken, verder wordt bij een kolommendiagram de 0 waarden wel getoond,
zodat de kleuring altijd hetzelfde kan zijn.

Veel Succes.
 
Elsendoorn2134,

Oke bedankt.
Zet de vraag nu op opgelost en nogmaals bedankt voor je oplossing betreft de cirkeldiagram.


groet,
Jan e
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan