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

Excel 图表数据系列的格式不正确,excel,vba,charts,excel-charts,Excel,Vba,Charts,Excel Charts,我有以下情况: 我有一个基于透视表的图表(透视图)。 如果存在某些条件,我的现有宏会将数据系列的背景颜色从“自动”更改为“填充图案”(虚线背景)。这工作正常,宏如下所示: ActiveSheet.ChartObjects("Diagramm 1").Activate ActiveChart.FullSeriesCollection(31).Select With Selection.Format.Fill .Visible = msoTrue .Patterned msoPat

我有以下情况: 我有一个基于透视表的图表(透视图)。 如果存在某些条件,我的现有宏会将数据系列的背景颜色从“自动”更改为“填充图案”(虚线背景)。这工作正常,宏如下所示:

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
但是,如果条件发生变化,则应使用宏将背景色设置回“自动”。 我尝试使用宏录制录制,结果如下所示:

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

Selection.Format.Fill
.Visible = msoTrue
现在的问题是,执行后没有任何更改-因此背景仍然是虚线。
有人知道如何使用宏将背景色设置回“自动”吗?可能使用.Patterned属性?

录制时,
Pattern Fill
下没有自动设置,甚至没有设置

要从模式切换到自动模式,需要设置一些设置;特别是,
.Solid
关闭图案

With Selection.Format.Fill
    .Visible = msoTrue
    .Transparency = 0
    .Solid
    .ForeColor.RGB = RGB(255, 255, 255)
End With
<>你将把<代码>前景色> /代码>设置成你认为是自动的。(您还可以根据图表类型以及是否需要渐变设置一些背景色。)

我想另一种方法是使用相同的前、后颜色来实现立体图案


查看填充选项时,有一个可单击的
自动
选项,但您仍必须选择颜色;它会生成与上面相同的代码(除非您选择主题颜色)


因此,您可以使用已弃用但仍在使用的Excel 2003语法来应用
xlAutomatic

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

(就我个人而言,我更愿意明确指定“默认值”或主题颜色。)

录制时,
图案填充下没有设置自动,甚至没有设置

要从模式切换到自动模式,需要设置一些设置;特别是,
.Solid
关闭图案

With Selection.Format.Fill
    .Visible = msoTrue
    .Transparency = 0
    .Solid
    .ForeColor.RGB = RGB(255, 255, 255)
End With
<>你将把<代码>前景色> /代码>设置成你认为是自动的。(您还可以根据图表类型以及是否需要渐变设置一些背景色。)

我想另一种方法是使用相同的前、后颜色来实现立体图案


查看填充选项时,有一个可单击的
自动
选项,但您仍必须选择颜色;它会生成与上面相同的代码(除非您选择主题颜色)


因此,您可以使用已弃用但仍在使用的Excel 2003语法来应用
xlAutomatic

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

(就我个人而言,我更愿意明确指定“默认值”或主题颜色。)

这对我来说并不适用,因为我必须将每个图表对象分别指定一种颜色(我有时有40多个图表对象)@Andreas这是一个完全独立的新问题。同样的答案也适用,但您可以使用循环将相同的代码应用于图表对象集合。如果我手动将背景颜色更改回“自动”,则无需选择任何颜色,因为Excel会自动将颜色设置回原始颜色(在我执行第一个宏之前)。这正是我想用新的macroperfect生成的行为-Interior.ColorIndex=xlAutomatic是我想要的,非常感谢!这对我来说真的不起作用,因为我必须将每个图表对象分别指定给一种颜色(我有时有40多个图表对象)@Andreas这是一个完全独立的新问题。同样的答案也适用,但您可以使用循环将相同的代码应用于图表对象集合。如果我手动将背景颜色更改回“自动”,则无需选择任何颜色,因为Excel会自动将颜色设置回原始颜色(在我执行第一个宏之前)。这正是我想用新的macroperfect生成的行为-Interior.ColorIndex=xlAutomatic是我想要的,非常感谢!