从所有图形和图表中删除标题

Deleting title from all graphs and charts

我写了一个非常简单的代码来删除图表中的所有标题。它有时有效,但有时没有任何反应。

    Sub changeformatting()

For Each Sht In Application.Worksheets
    For Each cht In Sht.ChartObjects
        cht.Height = Application.InchesToPoints(6)
        cht.Width = Application.InchesToPoints(9)
        cht.Chart.ChartArea.Format.TextFrame2.TextRange.Font.Size = 10
        cht.Chart.ChartArea.Format.TextFrame2.TextRange.Font.Name = "arial"
        cht.Chart.ChartTitle.Format.TextFrame2.TextRange = Delete


 On Error Resume Next
 
    Next cht
Next Sht

End Sub

我有包含 20-30 个图表的工作簿,我想将上述所有内容自动化。当我创建一个包含两个图表的示例文件时,它在我的大文件上工作正常,如果所有图表都没有标题,它会出错。

我收到的错误代码是“object 没有标题”。

知道如何解决这个问题吗?接下来我尝试添加错误恢复,但似乎没有帮助。

当我调试时,它显然给出了删除行的错误。

要删除图表标题,而不是删除 TextFrame2,删除实际标题。如果没有标题,删除方法也会失败。

检查图表是否有标题,然后将其删除。例如试试这个。

If cht.Chart.Hastitle then cht.Chart.ChartTitle.Delete