咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

在前面的文章《excel高阶图表之箭头批注n型》中我利用误差线和数据标签做出了n型箭头批注柱状图。直接指出了数据的同比情况。本篇我将做出带箭头的数据标签,并且将增长标记为红色,下降标记为绿色。利用颜色,更加直观的体现同比情况。效果如下图所示。

本图主要利用了组合图、数据自定义格式、VBA知识。

自定义格式为"↗+"0.0%;"↘-"0.0%;"="0.0%

首先我随机准备了一些数据。

第一步:选择数据,插入组合图。

第二步:点击图表,右键选择更改图表类型,修改成如下图所示结果。

第三步:点击散点,右键添加数据标签,点击数据标签右键设置数据标签格式。

第四步:点击任意柱状图,右键设置数据系列格式,调整系列层叠系数。

第五步:调整颜色,删除不需要的项。如果你做的图数据源是不会变动的,那么只需要逐个修改数据标签颜色即可。首先点击任意数据标签,然后点击你需要修改的数据标签即可。

如果你的数据源是变动的,比如我有一个下拉菜单控制着我的数据源,那么就需要下面一段代码。

代码放置位置如下图,其中图表名称,和散点数据第几个系列需要修改,别的不需要改动。然后点击组合框,右键指定宏,选择标签颜色,确定即可。

Sub 标签颜色() Set M = ActiveSheet.ChartObjects("图表 1") '你的图表名称(需要修改) M.Activate Set N = ActiveChart.FullSeriesCollection(3) '散点数据第几个系列,此处3代表第个(需要修改) '*****所有标签显示黑色***** N.DataLabels.Select Selection.Format.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(0, 0, 0) '*****根据正负号修改标签颜色***** For i = 1 To N.DataLabels.Count N.DataLabels(i).Select If Mid(N.DataLabels(i).Text, 2, 1) = "+" Then Selection.Format.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, 0, 0) Else If Mid(N.DataLabels(i).Text, 2, 1) = "-" Then Selection.Format.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(84, 130, 53) End If End If Next M.Activate End Sub