更改 PowerPoint 图表中的数据标签格式
Change data label format in PowerPoint Charts
我有一个包含许多图表的 PPT 演示文稿。每个图表都有数据标签。这些数据标签的格式为 ##.##
。我正在尝试通过 VBA 将其更改为 ##.0
。这是我的工作:
Sub Format_Datalabels()
Dim Layout As CustomLayout
Dim Slide As Slide
Dim Shape As Shape
For Each Slide In ActivePresentation.Slides
For Each Shape In Slide.Shapes
With Shape
If .HasChart Then
With .Chart
For Each Point In .SeriesCollection(1)
.DataLabels.NumberFormat = "##.0"
End With
End If
End With
Next
End Sub
我想,我实际上并没有掌握实际的数据标签。我被抛出错误“找不到方法或数据对象”。知道如何实际格式化给定演示文稿中所有图表的所有数据标签吗?
NumberFormat 的文档很少。在此上下文中,0 不被视为文字,而是被视为特殊字符。如果第一个小数位有数字,则显示该数字。如果没有数字,则显示0,所以4变成4.0,但是4.1还是4.1。
通常在数学中,如果每个十进制数都是 0,则根本不会显示它。 4 优于 4.0。但是如果你需要将所有第一位小数替换为0,方法如下:
.DataLabels.NumberFormat = "##"".0"""
这里,因为.0在双引号中,所以被当作文字处理。我没有试过调试你的代码。这是一个经测试可正常工作的宏:
Sub ChangeDataLabelNumberFormat()
With ActivePresentation.Slides(1).Shapes(1)
If .HasChart Then
With .Chart.SeriesCollection(1)
.HasDataLabels = True
.DataLabels.NumberFormat = "##"".0""" 'Displays all numbers as XX.0
End With
End If
End With
End Sub
我有一个包含许多图表的 PPT 演示文稿。每个图表都有数据标签。这些数据标签的格式为 ##.##
。我正在尝试通过 VBA 将其更改为 ##.0
。这是我的工作:
Sub Format_Datalabels()
Dim Layout As CustomLayout
Dim Slide As Slide
Dim Shape As Shape
For Each Slide In ActivePresentation.Slides
For Each Shape In Slide.Shapes
With Shape
If .HasChart Then
With .Chart
For Each Point In .SeriesCollection(1)
.DataLabels.NumberFormat = "##.0"
End With
End If
End With
Next
End Sub
我想,我实际上并没有掌握实际的数据标签。我被抛出错误“找不到方法或数据对象”。知道如何实际格式化给定演示文稿中所有图表的所有数据标签吗?
NumberFormat 的文档很少。在此上下文中,0 不被视为文字,而是被视为特殊字符。如果第一个小数位有数字,则显示该数字。如果没有数字,则显示0,所以4变成4.0,但是4.1还是4.1。
通常在数学中,如果每个十进制数都是 0,则根本不会显示它。 4 优于 4.0。但是如果你需要将所有第一位小数替换为0,方法如下:
.DataLabels.NumberFormat = "##"".0"""
这里,因为.0在双引号中,所以被当作文字处理。我没有试过调试你的代码。这是一个经测试可正常工作的宏:
Sub ChangeDataLabelNumberFormat()
With ActivePresentation.Slides(1).Shapes(1)
If .HasChart Then
With .Chart.SeriesCollection(1)
.HasDataLabels = True
.DataLabels.NumberFormat = "##"".0""" 'Displays all numbers as XX.0
End With
End If
End With
End Sub