Kolory wykresów w tabeli przestawnej - wskazówki dotyczące programu Excel

Spisie treści

Shari wysyła w tym tygodniu pytanie dotyczące programu Excel.

Nie udało mi się znaleźć odpowiedzi na to pytanie w naszym dziale IT, plikach pomocy programu Excel lub pomocy online programu Microsoft Excel i mam nadzieję, że możesz pomóc.

Analizuję dane Excela przez okres dwudziestu lat i muszę tworzyć wykresy kołowe w Excelu dla każdego roku. Wykresy w Excelu są oparte na tabeli przestawnej (lub wykresie przestawnym w Excelu 2000) z rokiem jako polem strony Problem polega na tym, że nie wszystkie lata zawierają te same elementy, więc każdy wykres Excela będzie używał innego koloru dla tego samego kawałek ciasta.

Próbujemy porównać dane z tych 20 lat, więc posiadanie tych samych kolorów na każdym wykresie jest niezbędne. W końcu muszę zmienić każdy wycinek na wielu wykresach, aby dopasować go do pierwszego, czasami kilka razy, ponieważ kolory mogą się zmienić, jeśli dane się zmienią i muszę ponownie obliczyć tabelę przestawną, na której jest oparty wykres.

MrExcel po raz pierwszy wypróbował wykres przestawny. Wykresy przestawne to bardzo skuteczny sposób tworzenia wykresów dla kilku różnych scenariuszy danych, ale mają tę irytującą lukę. Skonfigurowałem tabelę przestawną z rokiem zajęć jako wierszem, rokiem jako stroną. Poprosiłem o sortowanie roku zajęć według malejącej liczby. Gdy zmieniasz wykres przestawny z roku na rok, kolory wycinków koła skojarzonych z Freshmanem będą się zmieniać. W niektórych latach są to członkowie wszystkich czterech klas, w innych są to członkowie tylko trzech klas.

Przykładowy wykres przestawny

Program Excel stosuje domyślną kolejność kolorów do każdego wycinka, więc odpowiednie kolory będą się zmieniać z roku na rok. Widzę, jak mój menedżer kręci głową z obrzydzeniem, gdy wręczałem mu te wykresy.

Istnieje sposób rozwiązania tego problemu za pomocą wizualnego podstawowego makra. Jeśli ustawisz etykiety danych w celu wyświetlenia nazwy etykiety, możesz znaleźć nazwę każdego wycinka z poziomu Visual Basic. Gdy masz już nazwę, możesz zmienić kolor tego wycinka na podstawie wartości nazwy.

Przykładowy wykres przestawny

Excel użył powyższych kolorów w 1990 r., Ale w 1991 r. Kolory zmieniają się wraz ze zmianą liczby elementów i ich kolejności:

Poniższe makro jest zakodowane na stałe dla konkretnego przykładu Shari, w którym ma możliwe wartości Freshman, Sophomore, Junior i Senior. Dodając dodatkowe instrukcje Case z różnymi indeksami kolorów, możesz dostosować to do konkretnej sytuacji.

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

Uruchom edytor VB z alt-F11. Wstaw - moduł. Procedura wstawiania. Wpisz ColorPieSlices jako nazwę i kliknij OK. Wprowadź powyższe makro.

Aby ułatwić sobie życie, przypisz makro do skrótu w programie Excel. W programie Excel wykonaj Narzędzia - Makro. Podświetl ColorPieSlices i kliknij przycisk opcji. W polu klawisza skrótu wprowadź „d”. Kliknij OK i zamknij okno dialogowe Makro, klikając „x” w prawym górnym rogu. Teraz, po zmianie wykresu przestawnego, możesz nacisnąć Ctrl + D, aby zmienić kolor plasterków tortu na preferowany zestaw kolorów.

Interesujące artykuły...