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

问题描述

我写了一个非常简单的代码删除图表中的所有标题。有时它会起作用,但有时什么也不会发生。

    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 个图表的工作簿,我想自动化上述所有内容。当我创建一个带有两个图形的示例文件时,它可以正常工作,在我的大文件中,如果所有图形都没有标题,则会出现错误

我得到的错误代码是“对象没有标题”。

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

当我调试时,它显然会为删除行提供错误

解决方法

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

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

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