跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在 Excel 中按点改变图表的颜色?

Author Xiaoyang Last modified

当您在 Excel 中创建单一系列的柱状图、条形图或折线图时,通常会注意到系列中的所有数据点默认情况下都使用相同的颜色显示。这种统一的配色方案有时会使图表显得不够生动,或者难以一眼区分各个数据值。自然地,许多用户希望自定义他们的图表,使每个数据点都用一种独特的颜色表示,这样不仅让图表看起来更美观和专业,还能增强可读性——特别是在突出趋势、异常值或特定类别时。

然而,如果您尝试通过标准格式选项更改某个数据点的颜色,您会发现 Excel 会将颜色更改应用到整个数据系列,而不仅仅是选定的数据点。当您想要创建如下所示的视觉效果时,这种限制可能会令人沮丧:

a screenshot showing the original table
a screenshot of an arrow
a screenshot of the chart with different colors for each data points

在本文中,我们将探讨几种实用的解决方案,以实现图表中每个数据点的多色效果,包括使用 Excel 内置功能以及通过 VBA 代码实现的更高级方法。通过这些技术,您可以创建不仅更有效地传达数据,而且在演示文稿或报告中脱颖而出的图表。

按点改变柱状图/条形图/折线图的颜色

VBA:为图表数据点分配自定义颜色


按点改变柱状图/条形图/折线图的颜色

如果您想手动为柱状图、条形图或折线图中的每个数据点应用不同的颜色,Excel 的“按点改变颜色”功能为单一系列图表提供了一个快速且有效的解决方案。此功能在您有少量数据点并希望通过每种值之间的快速视觉区分时特别有用。然而,它并不允许无限定制颜色,因为它受制于 Excel 默认调色板和主题的限制。

要为每个数据点分配不同的颜色,请按照以下步骤操作:

1. 首先,点击图表中的一个数据列(或点)以选择整个数据系列。然后右键单击打开上下文菜单,并选择“设置数据系列格式”。如果选择单个系列遇到问题,请确保单击一次数据点(而不是双击)。

a screenshot of clicking the Format Data Series option

2. 在“设置数据系列格式”对话框中,点击左侧的“填充”。接下来,在右侧部分勾选“按点改变颜色”复选框。这会立即为系列中的每个数据点分配不同的默认主题颜色。

a screenshot of changing the Fill option

提示:如果您使用的是 Excel 2013 或更高版本,界面可能略有不同。在这里,“设置数据系列格式”窗格中选择“填充与线条”图标(油漆桶)。在“填充”部分下,您会找到相同的“按点改变颜色”选项。勾选它以应用设置。请参见截图:

a screenshot of changing the Fill option in Excel2013

3. 单击“关闭”退出对话框后,您的图表现在将显示每个数据点的不同颜色。请注意,分配的颜色基于当前工作簿的主题。

a screenshot showing different column colors in a chart

4. 如果您不喜欢默认的颜色选择,可以通过自定义主题轻松更改颜色样式。转到“页面布局”选项卡,点击“主题”,并选择您喜欢的颜色主题。所有图表颜色都会根据所选主题自动更新。这提供了一种快速试验适合您演示或品牌需求配色方案的方法。

a screenshot showing how to change the Theme of the chart

5. 更改主题后,您的图表将以您选择的新调色板显示数据条或柱体。

使用提示:
• “按点改变颜色”选项不仅可用于柱状图,还可用于 Excel 中的条形图和折线图。
• 尽管“按点改变颜色”对于基本图表来说简单快捷,但它不提供对每个点确切颜色的完全控制。如果您需要特定的品牌颜色或希望为每个值分配特定的颜色,则可能更倾向于为每个数据点手动格式化或考虑下面更高级的方法。
• 此功能仅适用于单一系列图表。对于更复杂的多系列图表或需要精细颜色控制的场景,请参阅以下扩展解决方案。

故障排除:
• 如果“按点改变颜色”选项呈灰色,请检查图表中是否有多个系列。此选项仅适用于单一系列图表。
• 在某些较旧的 Excel 版本中,命名或图标可能会略有不同;悬停在类似选项上找到它。
• 如果您的图表没有立即更新,请尝试重新点击图表或刷新工作表。

总结建议:当您需要为小数据集中的每个点快速、简单地变化颜色,并且不需要为个别点定制颜色方案时,此方法最为推荐。


VBA:为图表数据点分配自定义颜色

有些场景下,Excel 内置的“按点改变颜色”功能或图表主题不够精确——例如,当您想为每个数据点应用特定的颜色以进行高级可视化时(如匹配品牌颜色、突出异常值或使用标准化颜色代码)。在这种情况下,您可以使用 VBA 程序化地设置每个数据点的颜色。这种方法在处理大型数据集或需要反复应用自定义颜色时特别有用。

适用场景:当您需要为每个点分配精确的颜色(包括 RGB 或十六进制代码),或希望自动应用颜色而不手动格式化每个点时使用。缺点是必须启用宏安全权限,并且编辑宏代码需要对 VBA 有一定的熟悉程度。

1. 点击“开发工具”>“Visual Basic”。在新的 Microsoft Visual Basic for Applications 窗口中,点击“插入”>“模块”,并将以下代码输入到模块中:

Sub SetChartPointColors()
    ' Assigns custom colors to each data point in the first series of the first chart on the active sheet
    Dim cht As ChartObject
    Dim i As Integer
    Dim colorArray As Variant

    ' Define custom color codes (RGB values or color constants)
    colorArray = Array(RGB(255, 0, 0), RGB(0, 176, 80), RGB(0, 112, 192), RGB(255, 192, 0), RGB(112, 48, 160))
    
    On Error Resume Next
    Set cht = ActiveSheet.ChartObjects(1)
    
    If cht Is Nothing Then
        xTitleId = "KutoolsforExcel"
        MsgBox "No chart found on the active sheet.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    For i = 1 To cht.Chart.SeriesCollection(1).Points.Count
        cht.Chart.SeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = colorArray((i - 1) Mod UBound(colorArray) + 1)
    Next i
    
    MsgBox "Custom colors have been assigned to data points.", vbInformation, xTitleId
End Sub

参数说明和自定义提示:
colorArray 保存您希望分配给数据点的颜色值。您可以编辑这些 RGB 元组以匹配您的确切颜色需求。
ActiveSheet.ChartObjects(1) 目标是您当前活动工作表上的第一个图表对象。如果您有多个图表,可能需要调整此引用。

2。要运行代码,请点击 VBA 中的 Run button 按钮或按 F5。该宏将把您的自定义调色板应用到图表的第一个系列中的每个点。如果数组中的颜色比点数少,宏会循环使用您的颜色。

注意事项和故障排除:
• 确保在 Excel 设置中启用了宏权限,因为默认情况下宏是禁用的。
• 如果收到“未找到图表”的消息,请激活包含目标图表的工作表。
• 可以根据需要调整 RGB 颜色,使用 Excel 的颜色选择器或在线工具查找您偏好的 RGB 代码。
• 您可以进一步增强 VBA 以提示您选择颜色或针对特定图表/系列工作。

总结建议:当您需要自动化或精确控制数据点着色时,尤其是对于频繁更新或具有大量数值的图表,VBA 方法是最好的选择。


最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠