代码之家  ›  专栏  ›  技术社区  ›  kyokley

在Excel中删除图表

  •  2
  • kyokley  · 技术社区  · 15 年前

    我试图绘制一些RTD数据,但不小心在同一个工作表上出现了数百个图表。现在我正试图撤消我的错误并删除所有的图表,但我没有太多的运气。

    我录制了一个宏,在宏中我手动删除了其中一个图表,然后尝试编辑代码以循环浏览所有图表,但我一直出错。我的代码如下:

    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有时做的事情有点不同于您可能期望的。所以,我想我的问题是,如何在不必一次浏览每个图表的情况下删除图表?

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

    2 回复  |  直到 8 年前
        1
  •  4
  •   Duncan Johnson    15 年前

    试试这个,它将清除工作表上的所有图表,而不管它们的名称是什么。

    Sub Macro3()
        Worksheets("Calculations").ChartObjects.Delete
    End Sub
    
        2
  •  1
  •   Conspicuous Compiler    15 年前

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