Przejdź do głównej zawartości

Jak kolorować wykres na podstawie koloru komórki w programie Excel?

Zwykle podczas tworzenia wykresu domyślnym kolorem jest pasek kolumn. Jeśli chcesz sformatować wypełniony kolor na każdym pasku na podstawie kolorów komórek, jak pokazano na poniższym zrzucie ekranu, jak możesz to rozwiązać w programie Excel?

Pokoloruj wykres jedną lub wieloma seriami danych na podstawie koloru komórki z kodami VBA

Pokoloruj wykres jedną lub wieloma seriami danych na podstawie koloru komórki z niesamowitą funkcją


Pokoloruj wykres jedną lub wieloma seriami danych na podstawie koloru komórki z kodami VBA

Pokoloruj wykres jedną serią danych na podstawie koloru komórki

Za pomocą następującego kodu VBA możesz szybko zmienić kolor wykresu, który zawiera jedną serię danych na podstawie oryginalnego koloru wartości komórek, wykonaj następujące czynności:

1. Najpierw utwórz wykres słupkowy lub kolumnowy, jak pokazano na zrzucie ekranu (Wybierz dane i kliknij wstawka > Wstaw wykres kolumnowy lub słupkowy):

2. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

3. Kliknij wstawka > Modułi wklej następujący kod w oknie modułu.

Kod VBA: Kolorowe paski wykresu z jedną serią danych na podstawie koloru komórki:

Sub ColorChartColumnsbyCellColor()
'Updateby Extendoffice
    Dim xChart As Chart
    Dim I As Long, xRows As Long
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
    If xChart Is Nothing Then Exit Sub
    With xChart.SeriesCollection(1)
        Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
        xRows = xRg.Rows.Count
        Set xRg = xRg(1)
        For I = 1 To xRows
            .Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 0).Interior.ColorIndex)
        Next
    End With
End Sub

Note: W powyższym kodzie, Wykres 1 to nazwa wykresu, której chcesz użyć, zmień ją na własną.

4. Po wklejeniu powyższego kodu naciśnij F5 klucz do uruchomienia tego kodu, a kolor słupków wykresu został zmieniony na podstawie oryginalnego koloru komórki, patrz zrzut ekranu:


Pokoloruj wykres wieloma seriami danych na podstawie koloru komórki

Jeśli Twój wykres zawiera wiele serii danych, zastosuj następujący kod VBA:

1. Utwórz wykres słupkowy lub kolumnowy, który zawiera wiele serii danych, jak pokazano na poniższym zrzucie ekranu:

2. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

3. Kliknij wstawka > Modułi wklej następujący kod w oknie modułu.

Kod VBA: Kolorowe paski wykresu z wieloma seriami danych na podstawie koloru komórki:

Sub CellColorsToChart()
'Updateby Extendoffice
    Dim xChart As Chart
    Dim I As Long, J As Long
    Dim xRowsOrCols As Long, xSCount As Long
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
    If xChart Is Nothing Then Exit Sub
    xSCount = xChart.SeriesCollection.Count
    For I = 1 To xSCount
        J = 1
        With xChart.SeriesCollection(I)
            Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
            If xSCount > 4 Then
                xRowsOrCols = xRg.Columns.Count
            Else
                xRowsOrCols = xRg.Rows.Count
            End If
            For Each xCell In xRg
                .Points(J).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
                .Points(J).Format.Line.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
                J = J + 1
            Next
        End With
    Next
End Sub

4. Następnie naciśnij F5 klucz do uruchomienia tego kodu, słupki wykresu są od razu wypełnione oryginalnym kolorem komórek, patrz zrzut ekranu:

Uwagi:

1. W powyższym kodzie Wykres 1 to nazwa wykresu, której chcesz użyć, zmień ją na własną.

2. Ten kod można również zastosować do wykresu liniowego.


Pokoloruj wykres jedną lub wieloma seriami danych na podstawie koloru komórki z niesamowitą funkcją

Korzystając z powyższych kodów, kolory wykresu nie zawsze będą dopasowane do koloru komórki, aby rozwiązać ten problem, przedstawię tutaj przydatne narzędzie - Zmień kolor wykresu zgodnie z kolorem komórki of Kutools dla programu ExcelDzięki tej przydatnej funkcji możesz szybko i łatwo pokolorować wykres na podstawie koloru komórki.

Uwaga: Aby to zastosować Zmień kolor wykresu zgodnie z kolorem komórki, po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excel, zrób tak:

1. Najpierw wstaw wykres, którego chcesz użyć, a następnie wybierz wykres, a następnie kliknij Kutools > Wykresy > Narzędzia wykresów > Zmień kolor wykresu zgodnie z kolorem komórkizobacz zrzut ekranu:

2. Następnie pojawi się okienko zachęty, kliknij OK przycisk.

3. Teraz wybrany wykres został pokolorowany na podstawie kolorów komórek, jak pokazano na poniższych zrzutach ekranu:

Pokoloruj wykres jedną serią danych na podstawie koloru komórki

Pokoloruj wykres wieloma seriami danych na podstawie koloru komórki

Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!


Więcej artykułów dotyczących wykresów względnych:

  • Utwórz wykres słupkowy nakładający się na inny wykres słupkowy w programie Excel
  • Kiedy tworzymy grupowany wykres słupkowy lub kolumnowy z dwiema seriami danych, dwa słupki serii danych będą wyświetlane obok siebie. Czasami jednak musimy użyć nakładanego lub nakładającego się wykresu słupkowego, aby wyraźniej porównać dwie serie danych. W tym artykule omówię, jak utworzyć nakładający się wykres słupkowy w programie Excel.
  • Skopiuj jeden format wykresu do innych w programie Excel
  • Przypuśćmy, że w arkuszu znajduje się wiele różnych typów wykresów, jeden wykres został sformatowany zgodnie z potrzebami, a teraz chcesz zastosować to formatowanie wykresu do innych wykresów. Oczywiście możesz formatować inne ręcznie jeden po drugim, ale będzie to marnować dużo czasu, czy są jakieś szybkie lub przydatne sposoby kopiowania jednego formatu wykresu do innych w programie Excel?
  • Wyróżnij maksymalne i minimalne punkty danych na wykresie
  • Jeśli masz wykres kolumnowy, na którym chcesz wyróżnić najwyższe lub najmniejsze punkty danych różnymi kolorami, aby je wyróżnić, jak pokazano na zrzucie ekranu. Jak możesz zidentyfikować najwyższe i najmniejsze wartości, a następnie szybko zaznaczyć punkty danych na wykresie?
  • Utwórz wykres krokowy w programie Excel
  • Wykres krokowy służy do pokazania zmian zachodzących w nieregularnych odstępach czasu, jest to rozszerzona wersja wykresu liniowego. Ale nie ma bezpośredniego sposobu na utworzenie go w programie Excel. W tym artykule omówię, jak krok po kroku utworzyć wykres krokowy w arkuszu programu Excel.
  • Utwórz wykres słupkowy postępu w programie Excel
  • W programie Excel wykres słupkowy postępu może pomóc w monitorowaniu postępu w kierunku celu, jak pokazano na poniższym zrzucie ekranu. Ale jak możesz utworzyć wykres słupkowy postępu w arkuszu programu Excel?

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
For more than 1 Chart:



Sub CellColorsToChart()'Updateby Extendoffice
Dim xChart As Chart
Dim I As Long, J As Long, Y As Long
Dim xRowsOrCols As Long, xSCount As Long Dim xRg As Range, xCell As Range
On Error Resume Next

For Y = 1 To 100Set xChart = ActiveSheet.ChartObjects("Chart "&Y).Chart If xChart Is Nothing Then Exit Sub
xSCount = xChart.SeriesCollection.Count
For I = 1 To xSCount
J = 1
With xChart.SeriesCollection(I)
Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
If xSCount > 4 Then
xRowsOrCols = xRg.Columns.Count
Else
xRowsOrCols = xRg.Rows.Count
End If
For Each xCell In xRg
.Points(J).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
.Points(J).Format.Line.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
J = J + 1
Next
End WithNext
Next
End Sub

This comment was minimized by the moderator on the site
If i have more charts in my sheet? do you have another code?
This comment was minimized by the moderator on the site
It is ok. But... why simply not going to "Format Legend Entry" option in every data series in the chart, and go "Fill" and make it the color you want. I mean... all is ok, but a VBA code for this simple task is kinda overkill. But thanks. Appreciate you share it.
This comment was minimized by the moderator on the site
i cant make it work :( is this supposed to work on a stacked bar chart? Thanks
This comment was minimized by the moderator on the site
This was an awesome start, but the colors of the chart and the cells don't always match. Any idea why?
This comment was minimized by the moderator on the site
Thank you for the codes! How would you add a conditional format when the format is already established?
This comment was minimized by the moderator on the site
Thank you for these codes! This was exactly what I've been looking for with one detail not quite fitting. When I ran the code, the bar graphs colored in correctly but not legend which stayed unchanged. Is there a variation to the code that would include the legend? Or is there a way to match the Legend to the changes in the chart without a code?
This comment was minimized by the moderator on the site
If i have more charts in my sheet? do you have another code?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations