录制的macros不能在图表对象上工作
我logging了下面的macros:
Sheets("Rejets Techniques TGC").Select ActiveSheet.ChartObjects("Graphique 1").Activate ActiveChart.Axes(xlCategory).Select ActiveChart.SeriesCollection(1).Values = "='Données'!$EU$68:$IJ$68" ActiveChart.SeriesCollection(1).XValues = "='Données'!$EU$1:$IJ$1"
然而,当我尝试说出来,我得到这个错误(从法语翻译):
Execution error '-2147024809 (80070057)' There is no element with this name
怎么会这样? 如果没有以这种方式命名的图表,我将无法logging它。 (是的,我从好的表格中运行它)
谢谢。
以下是它的含义:你的图表不是表格上的对象,而是表格。
所以,当你使用ActiveSheet.ChartObjects("Graphique 1").Activate
开始你的代码,在你的工作表没有findChartObjects
,因为工作表是Chart
。 所以这里是你如何解决这个问题:
Dim CO As Variant Set CO = ActiveSheet CO.Axes(xlCategory).Select CO.SeriesCollection(1).Values = "='Données'!$ET$68:$IJ$68" CO.SeriesCollection(1).XValues = "='Données'!$ET$1:$IJ$1"
这应该工作得很好。 我注意到,当我看图表标签时,我无法进入任何单元格。 这并不是不正常的,但它不是创build图表的最常见的方式(我看到)。 为了validation,我在ActiveSheet
上添加了一个监视器 ,并且看到它确实是一个图表(types为Object/Graph2
),其中所有正常的图表方法都可用。
从那里,我只是插入你的代码,转换为CO
variables(但你仍然应该使用ActiveSheet
全面),并没有错误地运行。
作为一个侧面说明,使用ActiveSheet
并不总是有效的,通常更好地显式调用工作表,即Set CO = ThisWorkbook.Sheets("Rejets Techniques TGC")
1 – 检查活动工作表是否包含图表。 或者使用代码中的工作表名称从任何工作表运行。
2 – 检查好的工作表是否包含精确的“Graphique 1”名称的图表。 也许有一个下划线,如“Graphique_1”,或没有空格“Graphique1”…