Cuidado com On Error Resume Next
em seu código, especialmente se for um código que não foi testado completamente. Neste caso, está mascarando um erro de sintaxe na linha
graph = ActiveSheet.ChartObjects("frontier").Activate
portanto, nenhum valor é atribuído a graph
. Tente isso:
Sub DeleteGraph() Dim graph As ChartObject On Error GoTo ErrHandler Set graph = ActiveSheet.ChartObjects("frontier") graph.Delete Exit Sub ErrHandler: msgBox "Chart does not exist on active sheet!" Exit Sub End Sub
Se você não gostar do aviso pop-up quando o gráfico não for encontrado, basta remover a linha msgBox
.