使用名称框顺序标记图表

时间:2014-04-28 13:03:55

标签: vba charts

如果我在文件中有很多图表,并且我希望最终将它们全部导出为带有VBA代码的图像。如果图表没有给出"图表标题",VBA会将图表保存在"名称框"名称。问题是,如果我有很多图表,而不是其他人有顺序标签,我需要按顺序给它。例如,想要有名称为chart1,chart2,chart3,..的图表。

是否可以使用简单的VBA一次更改所有这些名称?如果您有100多张图表,那么为每个人手动更改它是非常耗时的。

问候,加斯珀

1 个答案:

答案 0 :(得分:0)

您可以使用Shape.Chart对象的Sheet属性访问工作表的每个图表。

要更改工作表内每个图表的名称,请使用以下宏:

Sub SetChartTitle()
    Dim s As Shape
    Dim i as integer
    i = 1

    For Each s In Sheets("Sheet1").Shapes
        If s.HasChart Then
            s.Name = "mychart" & i ' set the chart name
            i = i + 1
        End If
    Next s
End Sub

您甚至可以使用此循环导出所有图表s.Chart.Export