Power Point VBA - 更改每个栏的颜色

Power Point VBA - Change color of each bar

我需要根据值将条形颜色更改为红色或绿色。 代码在柱形图上运行良好,但不适用于瀑布图。它说 "This action is not supported."

请帮助使以下代码瀑布图兼容:

Sub UpdateBarColor()

    Dim p As Point
    Dim s As Series
    Dim c As Chart

    Set c = ActiveWindow.Selection.ShapeRange(1).Chart
    Set s = c.SeriesCollection(1)

    For Each p In s.Points
        Debug.Print p.Format.Fill.ForeColor.RGB
    Next

End Sub

这会将瀑布图中的条更改为灰色(即 RGB) 您应该能够修改它以满足您的需要

Set c = ActivePresentation.Slides(1).Shapes(1).Chart.SeriesCollection(1)

   For Each p In c.Points
        p.Format.Fill.ForeColor.RGB = RGB(169, 169, 169)
    Next

从图表中获取 xvalues,试试这个

Dim arr As Variant
Dim i As Integer
With ActivePresentation.Slides(1).Shapes(1).Chart.SeriesCollection(1)
arr = .XValues
For i = LBound(arr) To UBound(arr)
Debug.Print arr(i)
Next
End With