Culori ale diagramelor tabelului pivot - Sfaturi Excel

Cuprins

Shari trimite întrebarea Excel din această săptămână.

Nu am reușit să găsesc răspunsul la acesta de la departamentul nostru IT, fișierele de ajutor Excel sau ajutorul online Microsoft Excel și sper că vă puteți ajuta.

Analizez datele Excel pe o perioadă de douăzeci de ani și trebuie să realizez diagrame Excel pentru fiecare an. Diagramele Excel se bazează pe un tabel pivot (sau Diagrama pivot în Excel 2000), cu anul ca câmp de pagină. Problema este că nu toți anii conțin aceleași elemente, deci fiecare diagramă Excel va folosi o culoare diferită pentru același felie de placinta.

Încercăm să comparăm date pe parcursul acestor 20 de ani, deci este esențial să avem aceleași culori pentru fiecare diagramă. În sfârșit, trebuie să schimb fiecare felie pe multe diagrame pentru a se potrivi cu prima, uneori de mai multe ori, deoarece culorile se pot schimba dacă datele se schimbă și trebuie să recalculez tabelul pivot pe care se bazează graficul.

MrExcel a încercat pentru prima dată diagrama pivot. Diagramele pivot sunt o modalitate foarte puternică de a crea o diagramă pentru mai multe scenarii diferite de date, dar au acest defect enervant. Am configurat tabelul pivot cu anul clasei ca rând, anul ca pagină. Am cerut să clasez anul clasei pe baza scorurilor descendente. Pe măsură ce schimbați graficul pivot de la an la an, culorile feliilor de plăcintă asociate cu boboc se vor schimba. Unii ani sunt membri din toate cele patru clase, alți ani sunt membri din doar 3 clase.

Exemplu de diagramă pivot

Excel aplică o ordine implicită de culori fiecărei felii, astfel încât culorile corespunzătoare se vor schimba de la an la an. Îmi văd managerul clătinând din cap dezgustat când i-am înmânat aceste diagrame.

Există o modalitate cu o macro vizuală de bază pentru a rezolva această problemă. Dacă setați etichetele de date pentru a afișa numele etichetei, atunci este posibil să găsiți numele fiecărei felii din interiorul Visual Basic. După ce ai un nume, poți recolora culoarea feliei respective pe baza valorii numelui.

Exemplu de diagramă pivot

Excel a folosit culorile de mai sus pentru 1990, dar în 1991 culorile se schimbă pe măsură ce numărul articolelor și secvența lor se schimbă:

Următoarea macrocomandă este codificată pentru exemplul specific al lui Shari, unde are posibile valori ale studenților, studenților, juniorilor și seniorilor. Adăugând declarații suplimentare de caz cu indici de culoare diferiți, puteți personaliza acest lucru pentru a face față situației dvs. particulare.

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

Porniți editorul VB cu alt-F11. Introduceți - Modul. Procedură de inserare. Tastați ColorPieSlices ca nume și faceți clic pe OK. Introduceți macro-ul de mai sus.

Pentru a face viața mai ușoară, atribuiți macrocomanda unei comenzi rapide în Excel. În Excel, faceți Instrumente - Macro. Evidențiați ColorPieSlices și faceți clic pe butonul de opțiuni. În caseta de comandă rapidă, introduceți un „d”. Faceți clic pe OK și închideți caseta de dialog Macro făcând clic pe „x” în colțul din dreapta sus. Acum, după ce vă schimbați diagrama pivot, puteți apăsa Ctrl + D pentru a recolora feliile de plăcintă la setul de culori preferat.

Articole interesante...