工作中制作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位小數。
以上是修改圖表中文字格式的一些方法,希望對讀者有所幫助。轉載請注明出處,謝謝。
