我希望smeone可以帮助我。我想从 excel 中获取 dta 并粘贴到 power point 图表中,就像我手动但使用代码一样。我想自动创建一个我经常为不同的客户群体创建的标准演示文稿。(我正在处理 SAS 中的数据并将其从 SAS 导出到一个 excel 文件中,该文件每次都具有相同的选项卡和格式)
我能够编写附加的宏,这只是第一次尝试使用虚拟日期来查看它是如何工作的,并且我从其他网络资源中大量复制。它一直在工作,直到结束。它打开spower point,使用我的模板创建一个页面并添加正确类型的图表。它会打开该图表的数据表。问题是我无法粘贴数据。
我相信我没有正确引用 sorce excel 表,因此 VBA 正在被混淆(应该如此)。有人可以解释我是怎么做到的。
最后,我可能会修改它以打开现有图表并粘贴新数据,因为我会在代码中完成所有这些操作后进行格式化(我也已经准备好基本演示文稿)。但我需要能够粘贴数据。
这个网站和其他地方有很多关于如何将图表从 Excel 复制到 PPT 的示例,但我不想这样做,我希望 PPT 存储数据,以便在创建后根据需要进行修改。但是,我还没有找到一个可以完成我想要完成的任务。
如果这很重要,我正在使用 Office 2010。
提前感谢任何可以帮助我的人。
马里奥
子测试()
Set ObjPPT = CreateObject("PowerPoint.Application")
Set ObjPresentation = ObjPPT.Presentations.Add
ObjPresentation.ApplyTemplate ("C:\Documents and Settings\ewnym5s\My Documents\Tools\Clean PPT Page.potx")
Set ObjSlide = ObjPresentation.Slides.Add(1, 12)
Set mychart = ObjSlide.Shapes.AddChart(xlBarClustered, 200, 200, 500, 200).Chart
Set wb = mychart.ChartData.Workbook
Set ws = wb.Worksheets(1)
ws.ListObjects("Table1").Resize ws.Range("A1:D6")
Sheets("Sheet1").Select
Range("A1:D6").Select
Selection.Copy
'The macro works perfectly up to here. The data is on Excel Sheet1 A1:d6 and it needs to be pasted to the same range on Sheet1 of the PPT data sheet.
'如果我在单步执行代码时切换窗口,我可以看到数据被选中并复制。只是粘贴部分不起作用。
ws.Range("A1").Paste