Excel 如何禁用复制chartarea中存在的形状?

Excel 如何禁用复制chartarea中存在的形状?,excel,excel-formula,shapes,vba,Excel,Excel Formula,Shapes,Vba,我在Excel中有一个图表,其中宏在图表区域的右侧填充了10个形状。我只想将图表复制到power point,到目前为止无法找到禁用复制形状的方法。如果我复制图表,它也会复制形状 下面是一个快速示例,它从活动工作表复制第一张图表,将其粘贴到活动演示文稿的第一张幻灯片,并从粘贴的图表中删除任何现有形状 'Declare Excel variables Dim ChartObj As ChartObject 'Declare PowerPoint variables Dim ppApp As Ob

我在Excel中有一个图表,其中宏在图表区域的右侧填充了10个形状。我只想将图表复制到power point,到目前为止无法找到禁用复制形状的方法。如果我复制图表,它也会复制形状

下面是一个快速示例,它从活动工作表复制第一张图表,将其粘贴到活动演示文稿的第一张幻灯片,并从粘贴的图表中删除任何现有形状

'Declare Excel variables
Dim ChartObj As ChartObject

'Declare PowerPoint variables
Dim ppApp As Object
Dim ppPres As Object
Dim ppChartObj As Object
Dim ppShape As Object

'Copy first chart from active sheet
Set ChartObj = ActiveSheet.ChartObjects(1)
ChartObj.Copy

'Paste chart into first slide of active presentation
Set ppApp = GetObject(, "PowerPoint.Application")
Set ppPres = ppApp.ActivePresentation
Set ppChartObj = ppPres.slides(1).Shapes.Paste(1)

'Delete shapes from chart
For Each ppShape In ppChartObj.Chart.Shapes
    ppShape.Delete
Next ppShape

希望这有帮助

图形是否在图表对象中?如果它们位于图表对象内,则会与图表一起复制。一个解决办法是将它们从图表中剪切出来,粘贴到图表上,而不是粘贴到图表中。通过引用对象导出图表时,这些形状不应与图表一起复制。或者,您可以复制/粘贴图表,然后通过循环查看图表对象的“形状”集合中的每个形状,从粘贴的图表中删除这些形状。是的,这些形状存在于图表对象中。我有这些想法。寻找一个用户友好的方式,而不需要额外的工作给用户。已尝试$.controlformat.printobject=false$不工作。。。正在VBA中查找要添加的内容以限制复制形状。。有没有可能@多梅尼克:谢谢你的想法。这有帮助。