VBA实战技巧24:调整图表数据标签的位置 |
您所在的位置:网站首页 › ppt图表系列重叠 › VBA实战技巧24:调整图表数据标签的位置 |
学习Excel技术,关注微信公众号: excelperfect 有时候,在Excel中绘制的图表会出现数据标签重叠的情形,不便于查看,如下图1所示。 图1 此时,可以手工拖动数据标签来进行位置调整,也可以使用VBA代码来自动调整。 首先,了解一下图表坐标体系。如下图2所示,展示了将数据标签移到图表区域的右下角时的情形。图表坐标的原点(0,0)在图表区域的左上角。 图2 使用VBA时, Wd=ChartArea.Width Ht=ChartArea.Height 数据标签(DataLabel对象)的Top属性和Left属性可以取得其左上角的x和y值。那么,可以计算出数据标签的高度和宽度为: h = Ht – y w = Wd - x 这样,编写的VBA代码如下: Sub FindLblSize() Dim Lbl As DataLabel Dim Cht As Object Dim chartWd, chartHt Dim OldTop, OldLeft Dim LblWd, LblHt Set Cht =ActiveChart Set Lbl =Cht.SeriesCollection(1).Points(3).DataLabel '获取图表区的高度和宽度 chartWd =Cht.ChartArea.Width chartHt =Cht.ChartArea.Height '存储数据标签原位置 OldTop =Lbl.Top OldLeft =Lbl.Left '试图移动数据标签 '左上角与图表区域右下角重合 Lbl.Top =chartHt Lbl.Left= chartWd '计算标签尺寸 LblWd =chartWd - Lbl.Left LblHt =chartHt - Lbl.Top MsgBox"标签大小: 宽度 = " &LblWd & " 高度 = " &LblHt '移动重叠标签使之错开 Lbl.Left= OldLeft Lbl.Top =Cht.SeriesCollection(1).Points(2).DataLabel.Top - LblHt End Sub 在工作表中选择图表,运行FindLblSize过程,结果如下图3所示。 图3 小结:由于可以手动拖动数据标签来调整其位置,上述代码看似用处不大,但是其演示的技术可以帮助我们了解图表布局和相关对象属性,并且在以编程方式检查一系列重叠的数据标签并需要处理时,上述代码是一个基础。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |