• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Kleur van punten in grafiek aanpassen met VBA-code?

Status
Niet open voor verdere reacties.

Pieter671

Gebruiker
Lid geworden
26 jun 2015
Berichten
105
Best lezer,

In Excel 2013 heb ik een grafiek met een 5-tal punten (zie bijgevoegd voorbeeld).

Afhankelijk van de rangorde (zie kolom F) wil ik graag dat de punt die hoort bij rangorde 1 groen kleurt in de grafiek. De overige punten moeten geel blijven of worden.

In grafiek 1 is dit punt 5 en in grafiek 2 is dit punt 2

Als bijvoorbeeld punt 4 op rang 1 komt, dan dient punt 4 groen te kleuren en de overige punten geel.

Je kunt het natuurlijk ieder keer handmatig doen, maar het zou mooi zijn als dat via een macro zou kunnen.
Ik ben dus op zoek naar koppeling tussen de rangorde en het kleuren van de punten in de grafiek.

Heeft iemand een idee / oplossing?

Pieter
 

Bijlagen

Eric,

Bedankt voor je reactie. Dit ziet er heel goed uit!!
Dit is precies zoals ik hoop dat het gaat functioneren.

Ik realiseer mij echter nu, dat mijn oorspronkelijke grafiek meer punten en lijnen heeft.
Dat maakt het denk ik iets gecompliceerder.

Als bijlage heb ik een tweede voorbeeld opgenomen.
Ik heb twee lijnen toegevoegd en nog een tweetal extra punten.
Deze twee punten moeten oranje blijven. De lijnen uiteraard in de blauwe kleur.

Als ik nu een aanpassing van de rangorde doe dan worden ook de oranje punten geel.

Alleen de punten met de label waarvan de namen staan in de cellen C7 t/m C11 moeten van kleur veranderen.
Rangorde 1 groen en de rest geel.

Pieter
 

Bijlagen

Je kan de naam van de punten toch opvragen en daar wat mee doen

Code:
For Each pt In x
     If Left(pt.Name, 4) = "Punt" Then
         i = i + 1
         If .Cells(j + i, 6) = 1 Then
             pt.Format.Fill.ForeColor.RGB = RGB(128, 256, 128)
          Else
            pt.Format.Fill.ForeColor.RGB = RGB(256, 256, 128)
        End If
     End If
 Next pt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan