Colori del grafico tabella pivot - Suggerimenti per Excel

Sommario

Shari invia la domanda su Excel di questa settimana.

Non sono riuscito a trovare la risposta a questa domanda dal nostro reparto IT, dai file della guida di Excel o dalla guida in linea di Microsoft Excel, e spero che tu possa aiutare.

Sto analizzando i dati di Excel per un periodo di venti anni e devo creare grafici a torta Excel per ogni anno. I grafici di Excel si basano su una tabella pivot (o grafico pivot in Excel 2000), con l'anno come campo della pagina.Il problema è che non tutti gli anni contengono gli stessi elementi, quindi ogni grafico di Excel utilizzerà un colore diverso per lo stesso fetta di torta.

Stiamo cercando di confrontare i dati di questi 20 anni, quindi è essenziale avere gli stessi colori per ogni grafico. Finisco per dover cambiare ogni molte sezioni su molti grafici per abbinare il primo, a volte più volte perché i colori possono cambiare se i dati cambiano e devo ricalcolare la tabella pivot su cui si basa il grafico.

MrExcel ha provato per la prima volta il grafico pivot. I grafici pivot sono un modo molto potente per creare un grafico per diversi scenari di dati diversi, ma hanno questo fastidioso difetto. Ho impostato la tabella pivot con l'anno della classe come riga e l'anno come pagina. Ho chiesto che l'anno di corso venisse ordinato in base ai punteggi decrescenti. Quando modifichi il grafico pivot di anno in anno, i colori delle fette di torta associate a Freshman cambieranno. Alcuni anni ci sono membri di tutte e quattro le classi, altri anni ci sono membri di sole 3 classi.

Grafico pivot di esempio

Excel applica un ordine predefinito dei colori a ciascuna sezione, quindi i colori corrispondenti cambieranno di anno in anno. Vedo il mio manager che scuote la testa disgustato mentre gli ho consegnato questi grafici.

C'è un modo con una macro di base visiva per risolvere questo problema. Se si impostano le etichette dati in modo da visualizzare il nome dell'etichetta, è possibile trovare il nome di ciascuna sezione all'interno di visual basic. Una volta che hai un nome, puoi ricolorare il colore di quella fetta in base al valore del nome.

Grafico pivot di esempio

Excel ha utilizzato i colori sopra per il 1990, ma nel 1991 i colori cambiano al variare del numero di elementi e della loro sequenza:

La macro seguente è hardcoded per l'esempio specifico di Shari in cui ha i valori possibili di Freshman, Sophomore, Junior e Senior. Aggiungendo ulteriori istruzioni Case con diversi indici di colore, è possibile personalizzarlo per gestire la propria situazione particolare.

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

Avvia l'editor VB con alt-F11. Inserisci - Modulo. Procedura di inserimento. Digitare ColorPieSlices come nome e fare clic su OK. Inserisci la macro sopra.

Per semplificarti la vita, assegna la macro a un collegamento in Excel. In Excel, fai Strumenti - Macro. Evidenzia ColorPieSlices e fai clic sul pulsante delle opzioni. Nella casella del tasto di scelta rapida, inserisci una "d". Fare clic su OK e chiudere la finestra di dialogo Macro facendo clic sulla "x" nell'angolo in alto a destra. Ora, dopo aver modificato il grafico pivot, puoi premere Ctrl + D per ricolorare le fette di torta con il tuo set di colori preferito.

Articoli interessanti...