Pivottabelldiagramfärger - Excel-tips

Innehållsförteckning

Shari skickar in veckans Excel-fråga.

Jag har inte kunnat hitta svaret på den här från vår IT-avdelning, Excel-hjälpfiler eller Microsoft Excel online-hjälp, och jag hoppas att du kan hjälpa till.

Jag analyserar Excel-data under en period av tjugo år och måste göra Excel-cirkeldiagram för varje år. Excel-diagrammen är baserade på en pivottabell (eller pivottabell i Excel 2000), med året som sidfält. Problemet är att inte alla år innehåller samma objekt, så varje Excel-diagram kommer att använda en annan färg för samma pajskiva.

Vi försöker jämföra data över dessa 20 år, så det är viktigt att ha samma färger för varje diagram. Det slutar med att jag måste byta ut många skivor i många diagram för att matcha den första, ibland flera gånger eftersom färgerna kan förändras om data ändras och jag måste beräkna pivottabellen som diagrammet baseras på.

MrExcel testade pivottabellen för första gången. Pivotdiagram är ett mycket kraftfullt sätt att skapa ett diagram för flera olika scenarier med data, men de har den här irriterande bristen. Jag ställde upp pivottabellen med klassår som rad, år som sida. Jag bad om klassåret att sortera utifrån fallande poäng. När du ändrar pivotdiagrammet från år till år kommer färgerna på pajskivorna som är associerade med Freshman att förändras. Vissa år finns det medlemmar från alla fyra klasserna, andra år finns det medlemmar från bara 3 klasser.

Exempel på pivottabell

Excel tillämpar en standardordning för färger på varje del, så motsvarande färger ändras från år till år. Jag kan se min chef skaka på huvudet i avsky när jag gav honom dessa sjökort.

Det finns ett sätt med ett visuellt grundmakro för att lösa detta problem. Om du ställer in datamärkena för att visa etikettnamnet är det möjligt att hitta namnet på varje skiva inom Visual Basic. När du väl har ett namn kan du färga färgen på den delen baserat på namnet.

Exempel på pivottabell

Excel använde färgerna ovan för 1990, men 1991 ändras färgerna när antalet artiklar och deras sekvens ändras:

Följande makro är hårdkodad för Sharis specifika exempel där hon har möjliga värden Freshman, Sophomore, Junior och Senior. Genom att lägga till ytterligare falluttalanden med olika färgindex kan du anpassa detta för att hantera din specifika 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

Starta VB-redigeraren med alt-F11. Sätt in - modul. Infoga procedur. Skriv ColorPieSlices som namn och klicka på OK. Ange ovanstående makro.

För att göra livet enklare, tilldela makrot till en genväg i Excel. I Excel gör du Verktyg - Makro. Markera ColorPieSlices och klicka på alternativknappen. I kortkommandorutan anger du ett "d". Klicka på OK och stäng dialogrutan Makro genom att klicka på "x" i det övre högra hörnet. Nu, efter att du ändrat ditt pivotdiagram, kan du trycka på Ctrl + D för att färga pajskivorna till önskad färguppsättning.

Intressanta artiklar...