14. marts 2018 - 07:54 Der er 4 kommentarer og
2 løsninger

Farve på punkter i punktdiagram udfra farven på font i felt

Hej,

Jeg har et Excel-ark. I kolonne A (DB) skal data automatisk plottes ind i et punkt-diagram på Y-aksen, og data i kolonne B (DG) skal på X-aksen.

Sådan at du får EN markering pr linie.

Derudover skal markeringen i punkt-diagrammet gerne have farve efter værdien (score) i kolonne C. Denne kolonne har 4 muligheder for farveudfald, og værdierne i feltet farves pt. alt efter hvilket interval de rammer.

0 - 20%: Rød
20 - 27%: Gul
27 - 30%: Grøn
30% - ?: Blå

Det skulle gerne være sådan, at når alle 3 kolonner, A+B+C, er udfyldt at data plottes i diagrammet farvet korrekt.

På forhånd tak!
Avatar billede jkrons Professor
14. marts 2018 - 09:29 #1
Farven i cellerne er et format, og et diagram ser kun på værdierne i cellerne, ikke på disses format, så her skal du nok ud i noget VBA, der ændrer farverne vpå punkterne i diagrammet, når først dette er oprettet.
14. marts 2018 - 11:18 #2
Tak. Havde selv tænkt det samme, men kan ikke sætte VBA koden sammen selv :-(
Avatar billede jkrons Professor
15. marts 2018 - 22:26 #3
Du kan skifte et enkelt punkts farve med denne koede

    ActiveSheet.ChartObjects("Diagram 2").Activate
    ActiveChart.SeriesCollection(1).Points(1).MarkerBackgroundColorIndex = 7

Den skal du så "bare" gennemløbe for alle punkterne i diagrammet (i stedet for (1), samtidigt med at du sammenligner med farven i den celle, hvor data kommer fra og sætter denne ind  i stedet for 7. Desværre ikke en helt ligetil opgave.
16. marts 2018 - 11:22 #4
Tak for dine input :-) Er glad for der findes folk som dig, der gerne vil hjælpe til.
Jeg har rodet lidt videre med det, og her min løsning til brug for evt andre, som finder denne tråd og har samme udfordring:

Jeg indsatte koden her via VBA.

Det kræver at diagrammet som du vil køre det på markeres i Excel hvorefter du kører makroen (selve dette kan man så lave en ny makro som gør og koble på en knap eller lignende som brugeren kan benytte), den vil herefter opdatere punkt-farven på diagrammet efter baggrundsfarven på cellen data kommer fra :-) VIGTIGT denne baggrundsfarve på cellen skal sættes manuelt, den kan ikke komme fra f.eks betinget formatering.

Sub color_Graph()
    Dim ss As Series
    Dim sc As SeriesCollection
    Dim ch As Chart
    Dim rng As Range
    Dim datapoint As Point
    Dim i As Integer
    Dim add As String
    Dim var, var3 As Variant
   
    Set ch = ActiveChart
    Set sc = ch.SeriesCollection
    'clear auto filling
    For i = 1 To sc.Count
        sc(i).Interior.Color = -2
    Next i
    i = 0
    For Each ss In ch.SeriesCollection
        'retreive range for each series
        add = ss.Formula
        var = Split(add, ",")
        var3 = Split(var(2), "!")
        var3 = Replace(var3(1), "$", "")
        Set rng = Range(var3)
        For Each datapoint In ss.Points
            i = i + 1 'cell number in series
            datapoint.Format.Fill.BackColor.RGB = rng(i).Interior.Color 'fill data point with cell color
            ch.Refresh 'refresh table
        Next datapoint
        i = 0 'restart count for cells in series
    Next ss
   
End Sub
16. marts 2018 - 13:01 #5
PS:

og hvis det skal løses med automatisk baggrundsfarve af felterne, skal noget lignende dette køres oveni:

Sub ColorMe()
  Dim i As Long, r1 As Range, r2 As Range

  For i = 5 To 34
      Set r1 = Range("X" & i & ":X" & i)
      Set r2 = Range("G" & i & ":G" & i)
      If r1.Value = 1 Then r2.Interior.Color = vbBlue
      If r1.Value = 2 Then r2.Interior.Color = vbGreen
      If r1.Value = 3 Then r2.Interior.Color = vbYellow
      If r1.Value = 4 Then r2.Interior.Color = vbRed
  Next i
End Sub

hvor du via f.eks en "Hvis" formel får defineret en seperat range (ovenfor 1 til 4) som svarer til den værdi som feltet der skal farves har. Så kan man slå op på værdien (f.eks 1 og automatisk farve det ønskede felt blå).
Ovenfor har jeg min range som der slåes op på for farveregel i kolonnen X og rangen som skal farves herefter i kolonnen G.
Avatar billede jkrons Professor
17. marts 2018 - 10:13 #6
Tak for den samlede løsning. Harc desværre ikke tid pt. til at udvikle de store løsninger :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat