Перейти до основного матеріалу

Як розфарбувати діаграму на основі кольору комірки в Excel?

Зазвичай, коли ви створюєте діаграму, кольором стовпця стовпця є за замовчуванням. Якщо вам потрібно відформатувати заповнений колір на кожному рядку на основі кольорів комірок, як показано на наступному знімку екрана, як ви можете це вирішити в Excel?

Розфарбуйте діаграму одним або декількома рядами даних на основі кольору комірки з кодами VBA

Розфарбуйте діаграму одним або декількома рядами даних на основі кольору комірки з дивовижною особливістю


Розфарбуйте діаграму одним або декількома рядами даних на основі кольору комірки з кодами VBA

Розфарбуйте діаграму одним рядом даних на основі кольору комірки

За допомогою наведеного нижче коду VBA ви можете швидко змінити колір діаграми, яка містить один ряд даних, виходячи із кольору оригінальних значень комірок. Будь ласка, зробіть так:

1. Спочатку створіть стовпчасту або стовпчасту діаграму, як показано на наведеному нижче знімку екрана (Виберіть дані та натисніть Insert > Вставити стовпчик або стовпчасту діаграму):

2. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

3. Клацання Insert > Модуліта вставте наступний код у вікно модуля.

Код VBA: Кольорові діаграми з одним рядом даних на основі кольору комірки:

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

примітки: У наведеному вище коді, Графік 1 це назва діаграми, яку ви хочете використовувати, будь ласка, змініть її на свою.

4. Після вставки вищевказаного коду, натисніть F5 клавішу для запуску цього коду, і колір смужок діаграми змінено на основі вихідного кольору комірки, див. знімок екрана:


Розфарбуйте діаграму кількома рядами даних на основі кольору комірки

Якщо ваша діаграма містить декілька рядів даних, застосуйте такий код VBA:

1. Будь ласка, створіть стовпчасту або стовпчасту діаграму, яка містить кілька рядів даних, як показано на наступному знімку екрана:

2. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

3. Клацання Insert > Модуліта вставте наступний код у вікно Модуль.

Код VBA: Смужки кольорових діаграм з кількома рядами даних на основі кольору комірки:

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. Потім натисніть F5 для запуску цього коду, рядки діаграми одночасно заповнюються оригінальним кольором комірок, див. знімок екрана:

Примітки:

1. У наведеному вище коді Графік 1 це назва діаграми, яку ви хочете використовувати, будь ласка, змініть її на свою.

2. Цей код також можна застосувати до лінійної діаграми.


Розфарбуйте діаграму одним або декількома рядами даних на основі кольору комірки з дивовижною особливістю

Використовуючи наведені вище коди, кольори діаграми не завжди будуть узгоджуватися з кольором комірки, щоб вирішити цю проблему, тут я представив корисний інструмент - Змінити колір діаграми відповідно до кольору комірки of Kutools для Excel, за допомогою цієї зручної функції, ви можете швидко і легко розфарбувати діаграму на основі кольору клітинки.

Примітка: Щоб застосувати це Змінити колір діаграми відповідно до кольору комірки, по-перше, вам слід завантажити Kutools для Excel, а потім швидко та легко застосувати функцію.

після установки Kutools для Excel, будь ласка, зробіть так:

1. Спочатку вставте діаграму, яку ви хочете використовувати, а потім виберіть діаграму та натисніть Кутулс > Чарти > Інструменти діаграм > Змінити колір діаграми відповідно до кольору комірки, див. скріншот:

2. А потім, спливаюче вікно з’явиться, натисніть, будь ласка OK кнопки.

3. Тепер обрана вами діаграма забарвлена ​​на основі кольорів комірок, як показано на скріншотах нижче:

Розфарбуйте діаграму одним рядом даних на основі кольору комірки

Розфарбуйте діаграму кількома рядами даних на основі кольору комірки

Завантажте та безкоштовну пробну версію Kutools для Excel зараз!


Більше відносних статей діаграми:

  • Створіть стовпчасту діаграму, накладаючи чергову гістограму в Excel
  • Коли ми створюємо кластерну стовпчасту або стовпчасту діаграми з двома рядами даних, два стовпці рядів даних будуть відображатися поруч. Але іноді нам потрібно використовувати накладену або накладену гістограму, щоб чіткіше порівняти два ряди даних. У цій статті я розповім про те, як створити накладену гістограму в Excel.
  • Скопіюйте один формат діаграми в інші в Excel
  • Припустимо, що на вашому аркуші є декілька різних типів діаграм, ви відформатували одну діаграму відповідно до своїх потреб, і тепер ви хочете застосувати це форматування діаграм до інших діаграм. Звичайно, ви можете відформатувати інші по черзі вручну, але це витратить багато часу, чи є швидкі чи зручні способи скопіювати один формат діаграми в інші в Excel?
  • Виділіть на графіку максимальну та мінімальну кількість очок даних
  • Якщо у вас є стовпчаста діаграма, в якій ви хочете виділити найвищі або найменші точки даних різними кольорами, щоб перевершити їх, як показано на наступному знімку екрана. Як ви могли визначити найвищі та найменші значення, а потім швидко виділити точки даних на діаграмі?
  • Створіть діаграму кроків в Excel
  • Покрокова діаграма використовується для відображення змін, що відбулися через нерегулярні проміжки часу, це розширена версія лінійної діаграми. Але прямого способу його створення в Excel немає. У цій статті я розповім про те, як поетапно створити покрокову діаграму на аркуші Excel.
  • Створіть діаграму прогресу в Excel
  • У програмі Excel стовпчаста діаграма може допомогти вам контролювати прогрес до цілі, як показано на наступному знімку екрана. Але як можна створити стовпчасту діаграму на аркуші Excel?

Найкращі інструменти продуктивності офісу

🤖 Kutools AI Aide: Революціонізуйте аналіз даних на основі: Інтелектуальне виконання   |  Згенерувати код  |  Створення спеціальних формул  |  Аналізуйте дані та створюйте діаграми  |  Викликати функції Kutools...
Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

Опис


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
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