2009-11-12 100 views
2

我试图绘制一些RTD数据,并意外地在同一张工作表上显示了数百个图表。现在我试图撤消我的错误,并删除所有的图表,但我没有太多运气。在Excel中删除图表

我记录了一个宏,我手动删除了其中一个图表,然后尝试编辑代码以遍历所有图表,但我一直收到错误。我的代码如下:

Sub Macro3() 

Dim i As Integer 

For i = 1 To 100 
    Sheets("Calculations").Select 
    ActiveSheet.ChartObjects("Chart " & CStr(i)).Activate 
    ActiveChart.ChartArea.Select 
    ActiveWindow.Visible = False 
    Selection.Delete 
Next i 
End Sub 

当我尝试运行此,我得到一个错误说,ChartObjects财产是从工作表类无法访问。

我敢肯定有一个简单的解释/解决方案,但我了解到,VBA有时做的事情有点不同于你可能期望的。所以,我想我的问题是,如何删除图表而无需一次完成每个图表?

任何帮助,将不胜感激。谢谢。

回答

4

试试这个,它会摆脱你的工作表上的所有图表,无论他们的名字。

Sub Macro3() 
    Worksheets("Calculations").ChartObjects.Delete 
End Sub 
+0

太棒了!奇迹般有效。谢谢。 – Shaka 2009-11-12 19:27:49

+0

我还需要删除图表,但我需要将其替换为不要删除。我添加了你的代码,但是它给了我一个错误@Duncan Johnson。有任何想法吗?谢谢 – 2016-08-01 06:02:12

1

您很可能试图通过不再存在的名称访问图表。请尝试使用ChartObjects(i)按索引访问图表。

+0

非常感谢。我想这是问题所在。我仍然得到了几次错误,但最终我摆脱了所有的图表。唷。再次感谢 – Shaka 2009-11-12 19:12:06