为什么要先激活图表?

时间:2016-01-07 10:24:32

标签: excel vba excel-vba

不知道这是否是我问题的最佳标题......:)

我在excel中有一张图表。我想使用SetElement。

如果我使用此代码,则会收到错误(Object不支持此属性或方法):

Dim Graphics As Worksheet
Set Graphics = Worksheets("Graph")
Graphics.ChartObjects("Chart 1").SetElement (msoElementChartTitleNone)

如果我使用此代码,则效果很好:

Dim Graphics As Worksheet
Set Graphics = Worksheets("Graph")
Graphics.ChartObjects("Chart 1").Activate
ActiveChart.SetElement (msoElementChartTitleNone)

有人可以解释为什么第一个选项不起作用吗? 它在同一个对象上仍然是相同的命令?

1 个答案:

答案 0 :(得分:2)

它与其他对象(ChartObject vs Chart)上的命令(方法)相同。

尝试:

Graphics.ChartObjects("Chart 1").Chart.SetElement ...