批量修改PPT中图表坐标轴/图例/数据标签字体格式
工作中制作PPT的时候,我们常常需要统一图表内的字体颜色等格式,对于页面中的字体,我们可以轻松的通过“替换字体”功能进行替换,但是这一功能并不能帮助你修改图表中的字体,这时候我们可以借助VBA进行批量修改。
批量修改图表图例坐标轴格式:
\'作者:Steven He 转载请注明来源 Sub ChartFormatChange() Dim xShp As Shape Dim xSld As Slide For Each xSld In ActivePresentation.Slides For Each xShp In xSld.Shapes If xShp.HasChart Then \'更改图例字体格式 With xShp.Chart On Error Resume Next .Legend.Font.Name = "宋体" .Legend.Font.Size = 18 End with \'更改坐标轴字体格式 With xShp.Chart.Axes(xlCategory) On Error Resume Next \'.TickLabels.Font.Color = RGB(0, 255, 0) \'颜色 .TickLabels.Font.Name = "宋体" \'字体 .TickLabels.Font.Size = 18 \'字号 End With With xShp.Chart.Axes(xlValue) On Error Resume Next \'.TickLabels.Font.Color = RGB(0, 255, 0) .TickLabels.Font.Name = "宋体" .TickLabels.Font.Size = 18 End With With xShp.Chart.Axes(xlSeries) On Error Resume Next \'.TickLabels.Font.Color = RGB(0, 255, 0) .TickLabels.Font.Name = "宋体" .TickLabels.Font.Size = 18 End With End If Next xShp Next xSld End Sub \'作者:Steven He 转载请注明来源
如果不是要修改全部幻灯片,而是要修改选中的幻灯片,可将上述代码中的
For Each xSld In ActivePresentation.Slides
更改为
For Each xSld In ActiveWindow.Selection.SlideRange
批量修改图表中数据标签的字体
要批量修改图表中数据标签的字体,可以使用以下代码:
\'作者:Steven He 转载请注明出处 Sub DataLabelFormatChange() Dim xShp As Shape Dim xSld As Slide \'遍历所有幻灯片 For Each xSld In ActivePresentation.Slides \'只修改选中幻灯片 \'For Each xSld In ActiveWindow.Selection.SlideRange For Each xShp In xSld.Shapes If xShp.HasChart Then With xShp.Chart On Error Resume Next \'循环所有数据系列和点 For x = 1 To .SeriesCollection.Count For y = 1 To .SeriesCollection(x).Points.Count .SeriesCollection(x).HasDataLabels = True \'显示数据标签 .SeriesCollection(x).Points(y).DataLabel.Font.Name = "微软雅黑" \'字体 .SeriesCollection(x).Points(y).DataLabel.Font.Size = 10 \'字号 .SeriesCollection(x).Points(y).DataLabel.Font.Color = RGB(0, 255, 0) \'颜色 .SeriesCollection(x).Points(y).DataLabel.NumberFormat = "0%" \'格式代码 Next y Next x End With End If Next xShp Next xSld End Sub \'作者:Steven He 转载请注明出处
其中格式代码可以参考PPT/EXCEL里面的格式代码 代码中的“0%”是表示百分比显示,保留0位小数。
以上是修改图表中文字格式的一些方法,希望对读者有所帮助。转载请注明出处,谢谢。