Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 用名称框顺序标记图表_Vba_Charts - Fatal编程技术网

Vba 用名称框顺序标记图表

Vba 用名称框顺序标记图表,vba,charts,Vba,Charts,如果我在文件中有许多图表,并且我希望最终使用VBA代码将它们全部导出为图像。如果图表没有“图表标题”,VBA将在“名称框”名称下保存图表。问题是,如果我有很多图表,但不是所有图表都有顺序标签,我需要按顺序返回。例如,想要有名称为chart1、chart2、chart3的图表 使用简单的VBA是否可以同时更改它们的名称?如果你有100多张图表,手动更改每一张图表会非常耗时 关于Gasper,您可以使用工作表对象的Shape.chart属性访问工作表的每个图表 要更改工作表中每个图表的名称,请使用以

如果我在文件中有许多图表,并且我希望最终使用VBA代码将它们全部导出为图像。如果图表没有“图表标题”,VBA将在“名称框”名称下保存图表。问题是,如果我有很多图表,但不是所有图表都有顺序标签,我需要按顺序返回。例如,想要有名称为chart1、chart2、chart3的图表

使用简单的VBA是否可以同时更改它们的名称?如果你有100多张图表,手动更改每一张图表会非常耗时


关于Gasper,您可以使用
工作表
对象的
Shape.chart
属性访问工作表的每个图表

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

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

工作正常!谢谢