为什么要先激活图表?

不知道这是不是我的问题最好的标题… 🙂

我在Excel中有一个图表。 我想要使​​用SetElement。

如果我使用这个代码,它会得到一个错误(对象不支持这个属性或方法):

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) 

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

这是不同的对象(ChartObject对图表)相同的命令(方法)。

尝试:

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