Skip to main content

如何根據儲存格顏色在 Excel 中為圖表著色?

Author: Xiaoyang Last Modified: 2025-05-12

通常,當您創建圖表時,柱狀條的顏色是默認的。如果您需要根據儲存格顏色來格式化每個柱狀條的填充顏色(如下方截圖所示),您該如何在 Excel 中解決這個問題呢?

color chart based on cell color

使用 VBA 代碼根據儲存格顏色為包含一個或多個數據系列的圖表著色

使用一項驚人的功能根據儲存格顏色為包含一個或多個數據系列的圖表著色


使用 VBA 代碼根據儲存格顏色為包含一個或多個數據系列的圖表著色

根據儲存格顏色為包含單個數據系列的圖表著色

使用以下 VBA 代碼,您可以快速更改包含單個數據系列的圖表顏色,並基於原始儲存格值的顏色進行調整,請按照以下步驟操作:

1. 首先,創建一個條形圖或柱狀圖(選擇數據並點擊 插入 > 插入柱狀圖或條形圖):

insert a Column or Bar Chart

2. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 視窗。

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

注意:在上述代碼中,Chart 1 是您要使用的圖表名稱,請將其更改為您自己的圖表名稱。

4. 粘貼上述代碼後,請按 F5 鍵運行此代碼,圖表柱狀條的顏色將根據原始儲存格顏色進行更改,請參見截圖:

run vba code to color the chart by cell color


根據儲存格顏色為包含多個數據系列的圖表著色

如果您的圖表包含多個數據系列,請應用以下 VBA 代碼:

1. 請創建包含多個數據系列的條形圖或柱狀圖,如下方截圖所示:

Color the chart with multiple data series based on cell color

2. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 視窗。

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 鍵運行此代碼,圖表柱狀條將立即填充原始儲存格顏色,請參見截圖:

run vba code to color the chart with multiple data series based on cell color

注意:

1. 在上述代碼中,Chart 1 是您要使用的圖表名稱,請將其更改為您自己的圖表名稱。

2. 此代碼也適用於折線圖。


使用一項驚人的功能根據儲存格顏色為包含一個或多個數據系列的圖表著色

通過使用上述代碼,圖表的顏色不會始終與儲存格顏色匹配,為了解決這個問題,這裡我將介紹一個有用的工具 - Kutools for Excel根據儲存格顏色改變圖表顏色 功能,使用這個便捷的功能,您可以快速輕鬆地根據儲存格顏色為圖表著色。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...
注意:要應用這個 根據儲存格顏色改變圖表顏色 功能,首先,您應該下載 Kutools for Excel,然後快速輕鬆地應用該功能。

安裝 Kutools for Excel 後,請按照以下步驟操作:

1. 首先,請插入您要使用的圖表,然後選擇該圖表,接著點擊 Kutools > 圖表 > 圖表工具 > 根據儲存格顏色改變圖表顏色,請參見截圖:

click Change Chart Color According to Cell Color feature of kutools

2. 接著,會彈出一個提示框,請點擊 確定 按鈕。

a prompt box is popped out

3. 現在,您選擇的圖表已根據儲存格顏色進行了著色,如下方截圖所示:

根據儲存格顏色為包含單個數據系列的圖表著色
Color the chart with one data series based on cell color

根據儲存格顏色為包含多個數據系列的圖表著色
Color the chart with multiple data series based on cell color

立即下載並免費試用 Kutools for Excel!


更多相關圖表文章:

  • 在 Excel 中創建一個覆蓋另一個條形圖的條形圖
  • 當我們使用兩個數據系列創建一個簇狀條形圖或柱狀圖時,兩個數據系列的條形將並排顯示。但是,有時候,我們需要使用疊加或重疊條形圖來更清楚地比較兩個數據系列。本文將討論如何在 Excel 中創建一個重疊條形圖。
  • 在 Excel 中複製一個圖表格式到其他圖表
  • 假設您的工作表中有許多不同類型的圖表,您已經根據需要格式化了一個圖表,現在您想將此圖表格式應用到其他圖表。當然,您可以手動逐一格式化其他圖表,但這將浪費大量時間,是否有快速或便捷的方法讓您在 Excel 中將一個圖表格式複製到其他圖表呢?
  • 在圖表中突出顯示最大和最小數據點
  • 如果您有一個柱狀圖,並且希望以不同的顏色突出顯示最高或最低的數據點,以便它們脫穎而出(如下方截圖所示)。您該如何識別最高和最低值,然後快速在圖表中突出顯示這些數據點呢?
  • 在 Excel 中創建階梯圖
  • 階梯圖用於顯示在不規則間隔發生的變化,它是折線圖的擴展版本。但是,在 Excel 中沒有直接的方法來創建它。本文將逐步介紹如何在 Excel 工作表中創建階梯圖。
  • 在 Excel 中創建進度條圖
  • 在 Excel 中,進度條圖可以幫助您監控朝向目標的進度(如下方截圖所示)。但是,如何在 Excel 工作表中創建進度條圖呢?

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!