保持录制macrosVBAclosures

我正在使用Powerpoint图表中的loggingmacros选项从Excel工作表导入数据。 代码写入后,closures图表后,代码自动被擦除。

代码在图表的VBA中还有什么方法,以便以后可以运行?

实际发生的事情是,您正在录制一个Excel的临时实例中的macros,当您select在PowerPoint中插入图表时,会启动该macros。

在PPT中出现的是一种奇怪的Chart对象,它包含图表和生成它所需的数据,但实际上并不是你正在使用的Excel对象。这就解释了为什么代码被丢弃了。

不要从PowerPoint中插入图表,请启动Excel,在创build/编辑图表时logging需要的内容,然后保存Excel文件。 它将包含您录制的macros,然后您可以将其复制/粘贴到PPT中并根据需要进行修改。

你有没有试过把PPT作为一个PPT来代替PPT?

pptm是一个macros启用的演示文稿pptx是一个正常的演示文稿,这将不允许存储VBA

另一个build议是将macros写入Powerpoint代码模块(而不是在Excel的embedded/临时实例中)。

这可能比你想要的更先进

您将需要添加一个库引用到Excel对象模型,然后你可以有完整的VBA /程序控制Powerpoint chartObjects(及其数据表),就像你在Excel的VBE。