Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как покрасить диаграмму на основе цвета ячейки в Excel?

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

Цвет диаграммы с помощью одной серии данных на основе цвета ячейки с кодом VBA

Цвет диаграммы с несколькими сериями данных на основе цвета ячеек с кодом VBA


Цвет диаграммы с помощью одной серии данных на основе цвета ячейки с кодом VBA


С помощью следующего кода VBA вы можете быстро изменить цвет диаграммы, который содержит одну серию данных, основанный на исходном цвете значений ячейки, выполните следующие действия:

1, Сначала создайте диаграмму столбцов или столбцов, как показано на следующем скриншоте (выберите данные и нажмите Вставить > Вставить столбец или столбчатую диаграмму):

2, Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окна.

3. Щелчок Вставить > модуль, и вставьте следующий код в окно модуля.

Код 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

Вышеприведенный код может применяться только к одной диаграмме серии данных, если диаграмма с несколькими сериями данных, пожалуйста, примените следующий код VBA:

1, Создайте диаграмму столбца или столбца, которая содержит несколько рядов данных, как показано ниже:

2, Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окна.

3. Щелчок Вставить > модуль, и вставьте следующий код в окно модуля.

Код 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. Этот код также можно применить к линейной диаграмме.


Kutools для Excel - лучший инструмент для повышения производительности в офисе Повысьте производительность на 80%

  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905

Вкладка «Office» предоставляет интерфейс с вкладками для Office и упрощает работу

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Lisa · 7 months ago
    Thank you for the codes! How would you add a conditional format when the format is already established?
  • To post as a guest, your comment is unpublished.
    Armin · 11 months ago
    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?
  • To post as a guest, your comment is unpublished.
    WILLIAN GUSMÃO · 11 months ago
    If i have more charts in my sheet? do you have another code?