VBA代码在从Excel复制第三张图表的同时出现错误?

时间:2019-06-05 16:00:36

标签: excel vba powerpoint

我有一个VBA代码,该代码嵌入其他人用来管理的电子表格中。该代码打开一个ppt模板并在图表上进行复制,并复制了前2个图表,但是第3个总是出现错误:“未找到具有指定名称的项目”。运行时错误'-2147024809(80070057)。该错误使我认为可能存在拼写错误,但名称全部匹配。

我已经尝试从代码中的电子表格复制名称,在该名称中将要复制的图表命名为电子表格,但仍然无法正常工作。工作簿中的每个工作表都是图表的名称,因此在工作表上进行复制时,它会查找图表名称,也就是工作表名称。

 const ChartName = 1
 dim ChartSource (numberofcharts, 2) as string

 chartSource(3, ChartName) = "XXX"
 chartSource(3, ChartTitle) = "XXX"

 sheets(chartsource(I,chartname)).select

因此,这里转到excel,它将查找工作表名称“ XXX”并在图表上进行复制。

 myslides.slides(j).select 

j是预定义的变量,指示从何处开始将图表粘贴到ppt。

 activesheet.chartobject("Chart 1").activate

这是发生错误的地方。此后的代码只是复制和粘贴代码,因此我认为这无关紧要。

它复制了前2个图表没有问题,但是第3个图表出现了错误。

也许你们中的一个可以回答这个问题:为什么图表对象说“图1”?每个ppt幻灯片的默认初始图表编号是“图表1”。我对chartsource并不熟悉,因此请解释括号中的数字意味着将其定义为字符串的地方。

我每个月都使用此代码,并且代码中未做任何更改,因此它不会产生任何错误。

0 个答案:

没有答案