我试图用VBA删除一系列单元格中的两个图表。它不是删除图表,而是反复进行多次而不做任何事情。这是我到目前为止所尝试过的。
For Each ChartObjects In Range(Cells(i + 3, 12), Cells(i + 19, 50))
ChartObjects.Delete
Next ChartObjects
答案 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
希望这有帮助!