在excel中将对象设置为当前选定的图表

所有,

我想将variablescht设置为当前图表。 我已经尝试了下面的代码,但由于某种原因,它将名称上的额外“图表”。 有没有其他的方法?

Set cht = ActiveSheet.ChartObject(ActiveChart.Name) 

此代码不起作用,因为它无法find具有该名称的对象。

 msgbox ActiveChart.Name 

当实际名称是“pvtChart1”时,产生“图表pvtChart1”。 有没有其他的方法来引用活动图表?

由于我无法更改我的电脑设置,因此我无法正确格式化代码。 谢谢。

-Rik

附加到图表名称的此图表是放置此图表的工作表的名称。

你可以像这样检索图表的名字:

 MsgBox ActiveChart.Parent.Name 

如果您想将variablescht设置为当前图表,则不需要引用图表集合。 你可以这样做:

 Set cht = ActiveChart.Parent 

图表被embedded到一个也被称为ChartObject的形状中。

如果你想引用图表(如我怀疑),使用这个:

 Dim cht As Chart Set cht = ActiveChart 

如果你想引用父图表对象:

 Dim chtob As ChartObject Set chtob = ActiveChart.Parent 

图表与这样的图表对象有关:

 Dim chtob As ChartObject, cht As Chart Set chtob = ActiveChart.Parent Set cht = chtob.Chart