【这个图表是怎么做出来的】可视化项目进度的另外一种方法-艺术字

在Excel中,可视化数据的方法是很灵活多样的。既可以使用传统的图表,也可以利用图表和其他元素的结合。在以前的文章中,我介绍过很多类似的案例。今天介绍的合格方法,我们不使用图表,也不使用条件格式,而是使用艺术字来进行一个百分比数据的可视化。

01

数据和图表效果

数据非常简单:

我们需要的是可视化这个进度数据:

这里的百分比数据就是想要展示的进度百分比,不同的是,这个填充比例也是按照真实的百分比数据改变的。下图是数据变化后的效果:

01

制作方法

很明显, 这是用艺术字制作的。

在插入选项卡中,点击“艺术字”,

插入一个艺术字:

在公式栏中输入公式:=$B$3,

回车后,得到:

修改形状边框为绿色,填充为绿色:

修改其文本填充为白色,边框为绿色:

将字体修改为Bernard MT Condensed,字号为150:

接下来要做的才是重点!

我们以前做过类似的图表(参见文章:如何直观展现购物车充满的比例?如何直观展现目标和实际的情况?这个图表最合适了!),那次我们使用的是图表填充图片。我们没有办法对艺术字使用相同的方法。我们需要用到一点VBA代码。

首先,我们取得这个艺术字的名字:点击选中艺术字,在左上角可以看到名字:

将这个名字复制到单元格B5中:

然后,按Alt+F11,打开VBA编辑器,

双击Sheet1(我们插入艺术字的工作表),在右侧代码区,输入如下代码:

    Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$3" Then If IsNumeric(Target.Value) Then With Shapes(Range("B5").Value).TextFrame2.TextRange.Font.Fill .TwoColorGradient msoGradientHorizontal, 1 .GradientAngle = 270 .GradientStops(1).Color = RGB(0, 0, 0) .GradientStops(1).Position = Target.Value .GradientStops(2).Color = RGB(255, 255, 255) .GradientStops(2).Position = Target.Value
    End With End If 'numeric
    End IfEnd Sub

    大功告成!

    (0)

    相关推荐