Excel VBA将ShapeEffect应用于图表系列

时间:2012-09-23 00:36:43

标签: excel-vba excel-2007 vba excel

我写的VBA代码创建了一个Excel Column Cluster图表,我的所有代码都可以工作但是我对图表的外观不满意,所以我试着把它装扮成一些。该图表是自动报告的一部分,因此我只希望能够安排我的宏运行,而不必手动更改数据系列。由于Excel 2007将图表的属性和方法设置为只读,因此在录制宏时不会填充它们。

所以我正在尝试做类似下面的帖子 How to apply ShapeStyle to a specific Series of a Chart in Excel using VBA?

但是我正在尝试将形状效果应用于图表系列。手动获取形状效果我希望你必须在图表中选择系列,然后选择图表工具>格式>形状效果>预设>预设2.这使得数据系列显示为3D而没有3D图表的麻烦。此外,我无法使用3D图表,因为我在第二次访问时有第四个数据系列,而您无法使用3D列聚类图表执行此操作。

非常感谢任何帮助。

更新

我回去了,我在2010年看了这个,看看有什么变化了。您仍然无法直接将预设应用于图表,但记录宏确实尝试记录某些内容。

如果您选择一个系列并应用预设,那么请查看三维选项,您可以看到设置了哪些值。从那里开始只需要在你的VBA中设置它们。

以下是3-D选项的类

 Selection.Format.Line
 Selection.Format.Fill
 Selection.Format.Shadow
 Selection.Format.Glow
 Selection.Format.ThreeD

有很多属性,所以我不会列出所有属性。我确实发现,如果你录制一个宏并设置一个属性,它会被记录下来,这样可以帮助你更接近应用所需的效果。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下尝试之一:

Chart.ApplyLayout(1)

使用您之前定义的Diagrammlayoutpreset。

或者使用它:

with Chart.SeriesCollection(1).Format.ThreeD
     .visible = true  
     .depth = 50
end with

在Excel-Help中查找ThreeDFormat-Object以获取所有可能的设置。这不是3D样式图表,而是3D样式系列;)要获得与preset2相同的结果,只需在预设2系列的formatdialog中查找formatchanges。