Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
访问图表';s形ID-excel vba_Excel_Ms Office_Vba - Fatal编程技术网

访问图表';s形ID-excel vba

访问图表';s形ID-excel vba,excel,ms-office,vba,Excel,Ms Office,Vba,首先是一些背景知识 Excel允许形状的名称重复。也就是说,可以在同一工作表中使用完全相同的名称同时使用ChartObject和椭圆形。您还可以有两个名为“Chart 2”的图表。如果尝试引用具有重复名称的形状,例如 ActiveSheet.Shapes(“复制”)。选择 excel似乎求助于返回具有最低ID(和重复名称)的对象 据我所知,没有办法将ActiveChart与其对应的包含形状链接起来 我想创建一个函数,比如 函数GetAChartsShape(c作为图表)作为形状 但我不知道怎么做

首先是一些背景知识

  • Excel允许形状的名称重复。也就是说,可以在同一工作表中使用完全相同的名称同时使用ChartObject和椭圆形。您还可以有两个名为“Chart 2”的图表。如果尝试引用具有重复名称的形状,例如

    ActiveSheet.Shapes(“复制”)。选择

    excel似乎求助于返回具有最低ID(和重复名称)的对象

  • 据我所知,没有办法将ActiveChart与其对应的包含形状链接起来
  • 我想创建一个函数,比如

    函数GetAChartsShape(c作为图表)作为形状


    但我不知道怎么做。这将直接用于格式化所选图表(因为无法全局更改图表的字体)。当然,这也可能有其他用途。

    包含嵌入式图表的形状(该形状也是chartobject)的名称为:

    activechart.parent.name

    或者,如果c被声明为图表:

    c、 parent.name

    但当然你知道你不需要选择一个对象来处理它,所以只要做你需要做的事情就行了

    c、 母公司


    这避免了名称重复的问题。

    包含嵌入式图表的形状(该形状也是chartobject)的名称为:

    activechart.parent.name

    或者,如果c被声明为图表:

    c、 parent.name

    但当然你知道你不需要选择一个对象来处理它,所以只要做你需要做的事情就行了

    c、 母公司


    这避免了名称重复的问题。

    我不知道ChartObject就是形状。谢谢我想这可能不太正确,请看我的答案和链接。我不知道ChartObject就是形状。谢谢我认为这可能不太正确,请参阅我的答案和链接。