Pivottabellfarger - Excel-tips

Innholdsfortegnelse

Shari sender inn ukens Excel-spørsmål.

Jeg har ikke vært i stand til å finne svaret på dette fra IT-avdelingen vår, Excel-hjelpefiler eller Microsoft Excel online-hjelp, og håper du kan hjelpe.

Jeg analyserer Excel-data over en periode på tjue år, og må lage Excel-kakediagrammer for hvert år. Excel-diagrammer er basert på en pivottabell (eller pivottabell i Excel 2000), med året som sidefelt. Problemet er at ikke alle år inneholder de samme elementene, så hvert Excel-diagram vil bruke en annen farge for det samme kakeskive.

Vi prøver å sammenligne data over disse 20 årene, så det er viktig å ha de samme fargene for hvert diagram. Jeg ender opp med å endre hver enkelt skive på mange diagrammer for å matche den første, noen ganger flere ganger fordi fargene kan endres hvis dataene endres, og jeg må beregne pivottabellen på nytt som diagrammet er basert på.

MrExcel prøvde ut pivottabellen for første gang. Pivot-diagrammer er en veldig kraftig måte å lage et diagram for flere forskjellige scenarier med data, men de har denne irriterende feilen. Jeg satte opp pivottabellen med klasseår som rad, år som side. Jeg ba om at klasseråret skulle sorteres basert på synkende poengsum. Når du endrer pivottabellen fra år til år, vil fargene på kakeskivene som er tilknyttet Freshman endres. Noen år er det medlemmer fra alle fire klassene, andre år er det medlemmer fra bare 3 klasser.

Eksempel på pivottabell

Excel bruker en standard rekkefølge på farger på hvert stykke, slik at de tilsvarende fargene endres fra år til år. Jeg kan se at sjefen min rister på hodet i avsky da jeg ga ham disse listene.

Det er en måte med en visuell grunnleggende makro å løse dette problemet. Hvis du setter datamerkene slik at de viser etikettnavnet, er det mulig å finne navnet på hvert stykke fra Visual Basic. Når du har et navn, kan du omfarge fargen på den delen basert på verdien av navnet.

Eksempel på pivottabell

Excel brukte fargene ovenfor i 1990, men i 1991 endres fargene etter hvert som antall varer og deres sekvens endres:

Følgende makro er hardkodet for Sharis spesifikke eksempel der hun har mulige verdier av Freshman, Sophomore, Junior og Senior. Ved å legge til flere Case-uttalelser med forskjellige fargeindekser, kan du tilpasse dette for å håndtere din spesielle situasjon.

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-redaktøren med alt-F11. Gjør Insert - Module. Sett inn prosedyren. Skriv ColorPieSlices som navnet og klikk OK. Skriv inn makroen ovenfor.

For å gjøre livet enklere, tilordne makroen til en snarvei i Excel. I Excel gjør du Verktøy - Makro. Fremhev ColorPieSlices og klikk på alternativknappen. Skriv inn et "d" i hurtigtastboksen. Klikk på OK og lukk dialogboksen Makro ved å klikke på "x" øverst til høyre. Nå, etter at du har endret pivottabellen, kan du trykke Ctrl + D for å omfarge kakeskivene til ønsket fargesett.

Interessante artikler...