Pivottabeldiagramfarver - Excel-tip

Indholdsfortegnelse

Shari sender denne uges Excel-spørgsmål.

Jeg har ikke været i stand til at finde svaret på denne fra vores it-afdeling, Excel-hjælpefiler eller Microsoft Excel online-hjælp, og jeg håber du kan hjælpe.

Jeg analyserer Excel-data over en periode på tyve år og har brug for at lave Excel cirkeldiagrammer for hvert år. Excel-diagrammerne er baseret på en pivottabel (eller Pivot-diagram i Excel 2000) med året som sidefelt. Problemet er, at ikke alle år indeholder de samme emner, så hvert Excel-diagram bruger en anden farve til det samme tærte skive.

Vi prøver at sammenligne data på tværs af disse 20 år, så det er vigtigt at have de samme farver for hvert diagram. Jeg ender med at ændre hver enkelt skive på mange diagrammer for at matche den første, nogle gange flere gange, fordi farverne kan ændre sig, hvis dataene ændres, og jeg er nødt til at genberegne den drejetabel, som diagrammet er baseret på.

MrExcel afprøvede pivotdiagrammet for første gang. Pivot-diagrammer er en meget effektiv måde at oprette et diagram til flere forskellige scenarier med data, men de har denne irriterende fejl. Jeg satte pivottabellen op med klasseår som række, år som side. Jeg bad om, at klasseåret skulle sorteres efter faldende scoringer. Når du ændrer pivotdiagrammet fra år til år, ændres farverne på de tærter, der er knyttet til Freshman. Nogle år er der medlemmer fra alle fire klasser, andre år er der medlemmer fra kun 3 klasser.

Eksempel på drejetabel

Excel anvender en standard rækkefølge af farver til hvert udsnit, så de tilsvarende farver ændres fra år til år. Jeg kan se min manager ryste hovedet med afsky, da jeg rakte ham disse diagrammer.

Der er en måde med en visuel grundlæggende makro til at løse dette problem. Hvis du indstiller datamærkerne til at vise etiketnavnet, er det muligt at finde navnet på hvert udsnit inden for visual basic. Når du først har et navn, kan du omfarve farven på det udsnit baseret på værdien af ​​navnet.

Eksempel på drejetabel

Excel brugte ovenstående farver i 1990, men i 1991 ændres farverne, når antallet af varer og deres rækkefølge ændres:

Den følgende makro er hårdkodet til Sharis specifikke eksempel, hvor hun har mulige værdier af Freshman, Sophomore, Junior og Senior. Ved at tilføje yderligere sagserklæringer med forskellige farveindekser kan du tilpasse dette til at håndtere din særlige situation.

Sub ColorPieSlices() ' Copyright 1999.com ' This macro will re-color the pie slices in a chart ' So that slices for a specific category are similarly colored ' Select the chart before calling the macro ' ' Find the number of pie slices in this chart NumPoints = ActiveChart.SeriesCollection(1).Points.Count ' Loop through each pie slice For x = 1 To NumPoints ' Save the label currently attached to this slice If ActiveChart.SeriesCollection(1). _ Points(x).HasDataLabel = True Then SavePtLabel = ActiveChart.SeriesCollection(1) _ .Points(x).DataLabel.Text Else SavePtLabel = "" End If ' Assign a new data label of just the point name ActiveChart.SeriesCollection(1).Points(x).ApplyDataLabels Type:= _ xlDataLabelsShowLabel, AutoText:=True ThisPt = ActiveChart.SeriesCollection(1).Points(x).DataLabel.Text ' Based on the label of this slice, set the color Select Case ThisPt Case "Freshman" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 3 Case "Sophomore" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 4 Case "Junior" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 5 Case "Senior" ActiveChart.SeriesCollection(1). _ Points(x).Interior.ColorIndex = 6 Case Else ' Add code here to handle an unexpected label End Select ' Return the label to it's original pre-macro state ActiveChart.SeriesCollection(1). _ Points(x).DataLabel.Text = SavePtLabel Next x End Sub

Start VB-editoren med alt-F11. Indsæt - modul. Indsæt procedure. Skriv ColorPieSlices som navnet, og klik på OK. Indtast ovenstående makro.

For at gøre livet lettere skal du tildele makroen til en genvej i Excel. I Excel skal du gøre Værktøjer - Makro. Fremhæv ColorPieSlices, og klik på knappen Indstillinger. Indtast et "d" i genvejstastfeltet. Klik på OK, og luk dialogboksen Makro ved at klikke på "x" i øverste højre hjørne. Nu, efter at du har ændret dit pivotdiagram, kan du trykke på Ctrl + D for at omfarve pie skiverne til dit foretrukne farvesæt.

Interessante artikler...