前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel图表技巧08:让图表根据不同的值显示不同的背景色

Excel图表技巧08:让图表根据不同的值显示不同的背景色

作者头像
fanjy
发布2021-02-05 14:32:47
3K0
发布2021-02-05 14:32:47
举报
文章被收录于专栏:完美Excel

如下图1所示,当斜率为正值时,图表背景显示为橙色;为负值时,图表背景显示为绿色。

图1

这是如何做到的呢?有两种方法。

第1种:使用条件格式

1. 绘制图表。

2. 选择图表,按住Alt键拖动图表边缘让其覆盖住单元格区域E3:L15。

3. 将图表区域和绘图区域都设置成透明(即无填充)。

4. 选择单元格区域E3:L15(如果因图表覆盖而不方便选择,可先将图表拖开,之后再将图表拖回来),设置条件格式规则如下图2所示。

图2

第2种:使用VBA

按Alt+F11,打开VBE,双击要设置图表背景色的工作表模块,输入代码:

Private Sub Worksheet_Calculate()

Dim myColor As Long

Dim myChart As String

Application.EnableEvents = False

‘Sheet2为要设置图表背景色的工作表

If ActiveSheet.Name <> "Sheet2" Then Exit Sub

‘图表名

myChart = "Chart 1"

If [c15] <> [OldSlope] Then

If [c15] > 0 Then

myColor = RGB(250, 190, 145)

Else

myColor = RGB(135, 235, 145)

End If

ActiveSheet.ChartObjects(myChart).Activate

'为图表区域添加颜色

With ActiveSheet.Shapes(myChart).Fill

.Visible = msoTrue

.ForeColor.RGB = myColor

.Transparency = 0

.Solid

End With

'为绘图区域添加颜色

ActiveChart.PlotArea.Select

With Selection.Format.Fill

.Visible = msoTrue

.ForeColor.RGB = myColor

.Transparency = 0

.Solid

End With

ActiveWorkbook.Names.Add Name:="OldSlope",RefersToR1C1:="=" + CStr(Cells(15, 3).Value)

End If

Application.EnableEvents = True

Range("C17").Select

End Sub

两种方法各有优缺点,就看你的选择了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档