2011-04-17 76 views
1

一些背景优先。访问图表的形状ID - excel vba

  1. Excel允许的形状重名。也就是说,您可以在同一个工作表中使用完全相同的名称同时具有ChartObject和椭圆形状。您也可以有两个图表同时命名为“图表2”。如果您尝试引用具有重复名称的形状,例如

    ActiveSheet.Shapes( “杜佩”)。选择,

    Excel中似乎诉诸于用最低的ID(和重复名称)返回的对象。

  2. 有没有办法(我知道)链接一个ActiveChart与其相应的包含形状。

我想创建一个功能类似

功能GetAChartsShape(C为图表)为形状

,但我不知道怎么办。直接使用这将是格式化所选图表(因为无法全局更改图表字体)。当然,这也可以有其他用途。

回答

1

含有嵌入图表(形状也是chartobject)的形状的名称是:

activechart.parent.name

或如果c声明的图表:

℃。 parent.name

但是,当然,你知道你不需要选择对象进行这项工作,所以只是你需要在

c.paren做什么t

它避免了重名的问题。

+0

我不知道ChartObject是形状。谢谢! – 2011-04-24 00:49:10

+0

我想这可能不是很真实,请参阅我的答案和链接。 – 2015-02-19 19:57:25