从范围中删除图表

时间:2017-07-27 22:13:19

标签: vba excel-vba excel

我试图用VBA删除一系列单元格中的两个图表。它不是删除图表,而是反复进行多次而不做任何事情。这是我到目前为止所尝试过的。

For Each ChartObjects In Range(Cells(i + 3, 12), Cells(i + 19, 50))
     ChartObjects.Delete
Next ChartObjects

1 个答案:

答案 0 :(得分:1)

您可以使用ChartObject的TopLeftCell属性来检查图表左上角下的单元格是否在范围内...

Dim oChrtObj As ChartObject

For Each oChrtObj In ActiveSheet.ChartObjects
     If Not Application.Intersect(oChrtObj.TopLeftCell, _
        Range(Cells(i + 3, 12), Cells(i + 19, 50))) Is Nothing Then
            oChrtObj.Delete
     End If
Next oChrtObj

但请注意,您也可以使用一行删除所有图表...

activesheet.chartobjects.delete

希望这有帮助!