图表数据系列的格式不正确

Diagram data series is not formatted correctly

我遇到以下情况: 我有一个基于数据透视表 table 的图表(数据透视图)。 如果存在某些条件,我现有的宏会将数据系列的背景颜色从 "Automatic" 更改为 "Pattern Fill"(虚线背景)。这工作正常,宏看起来像这样:

ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.FullSeriesCollection(31).Select

With Selection.Format.Fill
    .Visible = msoTrue
    .Patterned msoPattern10Percent
    .ForeColor.RGB = RGB(255, 255, 255)
    .BackColor.RGB = RGB(135, 206, 235)

End With

但是,如果条件发生变化,应使用宏将背景色设置回 "Automatic"。 我尝试使用宏录制来录制它,结果如下所示:

ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.FullSeriesCollection(31).Select

Selection.Format.Fill
.Visible = msoTrue

现在的问题是执行后没有任何改变 - 所以背景仍然是点状的。 有谁知道如何使用宏将背景颜色设置回 "Automatic"?可能使用 .Patterned 属性?

当您录制时,Pattern Fill 下没有设置自动,甚至 None。

要从模式切换到等效的自动模式,您需要进行一些设置;特别是,.Solid 关闭图案。

With Selection.Format.Fill
    .Visible = msoTrue
    .Transparency = 0
    .Solid
    .ForeColor.RGB = RGB(255, 255, 255)
End With

您可以将 ForeColor 设置为您认为的 自动 。 (您也可以根据图表类型设置一些背景颜色,以及是否需要渐变。)

我想另一种方法是使用相同的 Fore 和 BackColor 来实现纯色图案。


查看填充选项时,有一个 Automatic 选项可供单击,但您仍然需要选择一种颜色;它生成的代码与上面的代码相同(除非您选择主题颜色)。


由此 similar question 您可以使用已弃用但仍然有效的 Excel 2003 语法来应用 xlAutomatic:

ActiveChart.FullSeriesCollection(1).Interior.ColorIndex = xlAutomatic

(就个人而言,我宁愿明确指定 'defaults' 或主题颜色。)