Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
迭代Excel工作表中的所有图表_Excel_Vba - Fatal编程技术网

迭代Excel工作表中的所有图表

迭代Excel工作表中的所有图表,excel,vba,Excel,Vba,以下代码适用于11个图表中的9个。同一工作表的两个图表不受影响。为什么会这样 Sub resizeAllCharts() Dim myChartObj As ChartObject For Each myChartObj In ActiveSheet.ChartObjects With myChartObj .Height = 350 .Width = 600 End With Next my

以下代码适用于11个图表中的9个。同一工作表的两个图表不受影响。为什么会这样

Sub resizeAllCharts()
    Dim myChartObj As ChartObject
    For Each myChartObj In ActiveSheet.ChartObjects
        With myChartObj
            .Height = 350
            .Width = 600
        End With
    Next myChartObj
End Sub
我还尝试通过索引及其名称访问chartobjects:

ActiveSheet.ChartObjects(i)
ActiveSheet.ChartObjects("Chart " & i)

但这种方法总是导致例外情况。Excel工作表中的图表似乎不是连续的。

所有这些图表都在活动工作表中吗?那张表一定很大,可以放11张那样大小的图表。。。什么是
?立即窗口中的Debug.Print ActiveSheet.ChartObjects.Count
返回?是的,它们在同一个活动工作表中。这一变化适用,但并非所有人都适用。两个图表始终保持不变?ActiveSheet.ChartObjects.Count 11能否在
结束后添加
调试.Print myChartObj.Name
,然后在
下一步之前添加
?再次检查你的即时窗口,看看是否所有的图表都在迭代我得到了:图4图5图6图7图8图1图34图1